"sizeof(some_vector[0])"是否有效
Is `sizeof(some_vector[0])` valid?
对于查找矢量中元素大小的通用方法,这有效吗:
std::vector<float> some_vector;
int size = sizeof(some_vector[0]);
或者这会导致问题,因为some_vector[0]可能是空的?
我想这是在编译时评估的,但它符合标准吗
sizeof
运算符用于未赋值的表达式。所以你可以用这个表达式来确定向量元素的大小。
来自C++标准(5.3.3尺寸)
1 sizeof运算符产生对象中的字节数其操作数的表示形式。操作数是表达式,它是未赋值的操作数(第5条),或带括号的类型id。sizeof运算符不应应用于表达式具有函数或不完整类型的枚举类型在所有枚举器都被固定之前,基础类型是不固定的声明,到此类类型的带括号的名称,或到glvalue指定位字段。sizeof(char)、sizeof(带符号的char)和sizeof(无符号字符)为1。sizeof的结果应用于任何其他基本类型(3.9.1)是定义实现的。[注:在特别是sizeof(bool)、sizeof(char16_t)、sizeof(char32_t),以及sizeof(wchar_t)是实现定义的。75——尾注][注:见1.7用于字节的定义,3.9用于对象的定义代表--尾注]
相关文章:
- 欧拉项目#8答案是大以获得有效答案
- 调整大小后指向元素值的指针unordered_map有效?
- 为什么是0;C++中的有效语句
- 最高有效数字侧的第N位
- GCC对可能有效的代码抛出init list生存期警告
- 有效地使用std::unordered_map来插入或增加键的值
- c++中O(n^(1/3))中一个数的除数的有效计数
- 使用无符号字符数组有效存储内存
- 自定义先决条件对移动分配运算符有效吗
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 有哪些有效的方法可以消除一组 100 万个字符串>重复数据?
- 为什么这种直接初始化有效?(C++17)
- 递归函数有效,但无法记忆
- 在C++中初始化向量映射的最有效方法
- 如果变量名称不跟在 char* 后面,const char* 是否有效?
- 钳制迭代器是否有效
- 如何有效地在 std::vector 中插入一对?
- C++模板 t 不是有效的模板类型
- 检查由括号、方括号和大括号组成的一组方括号是否有效?
- 将此布尔值传递给此函数的最有效方法是什么?