根据标准,在[expr.sizeof](5.3.3.2)中我们得到:
When applied to a reference or a reference type,the result is the size of the referenced type.@H_502_4@
这似乎与引用未指定的事实一致[dcl.ref](8.3.2.4):@H_502_4@
It is unspecified whether or not a reference requires storage@H_502_4@
但是,在语言中有这种矛盾似乎很奇怪.无论参考是否需要存储,能否确定参考使用的尺寸是否重要?看到这些结果似乎错了:@H_502_4@
sizeof(vector<int>) == 24 sizeof(vector<int>*) == 8 sizeof(vector<int>&) == 24 sizeof(reference_wrapper<vector<int>>) == 8
根据定义想要sizeof(T&)== sizeof(T)的原因是什么?@H_502_4@