如何使用sizeof(a)/sizeof(a[n])
How to use sizeof(a)/sizeof(a[n])
如果您更改数组大小,为了避免事情悄悄中断,我建议使用
std::copy(a, a + sizeof(a)/sizeof(a[0]), b);
。更好的是,将sizeof()
垃圾包装在宏中——或者更好的是使用函数模板:template <typename T, size_t N> size_t size((T&)[N]) { return N; }
–j_random_hacker Sep 8'12 at 7:29
当我在研究问答的时候;A今天早上我发现了这条评论(4票赞成)。我对C++很陌生。a+sizeof(a[0])
在这里是什么意思,我想sizeof(a[0])
会返回4,它代表int内存字节?非常感谢!!。
这很简单:
sizeof(a)/sizeof(a[0])
选择哪个元素并不重要(ien
或0
)
如果a
是一个数组,则sizeof(a)/sizeof(a[0])
是a
中的元素数量。它是每个元素大小的整个数组的大小。
因此,如果a
是一个数组,那么a + sizeof(a)/sizeof(a[0])
是指向数组末尾后面的指针。
相关文章:
- 如何将数组传递给使用 sizeof 的函数?
- 在QScopedPointer的实现中使用sizeof
- 在 T 的静态成员中使用 sizeof(T) 的 c++ 错误
- 使用 sizeof 计算数组中的元素数时的结果不同
- 对象的大小,而不在C++中使用 sizeof
- 从文本文件中读取并使用 sizeof 结果计算整数的数量到 nan
- C 标准中的哪个段落验证了以下示例中使用的表达式`sizeof(s :: m 42)`
- 为什么在 sizeof() 函数中与 * 运算符一起使用和不使用 * 运算符时,指向结构变量的指针大小会有所不同?
- 如何正确使用“ sizeof”操作员在循环的条件下正确使用
- 有人可以告诉我为什么我在这里使用sizeof()函数无法找到数组的长度
- 为什么在使用SizeOf进行同一char阵列时会得到各种结果
- sizeof(…)运算符结果的使用令人困惑
- 在可变参数模板中使用 sizeof 运算符跳过递归结束的函数
- 如果 T 是一个函数,则不要对 T 使用 sizeof
- 使用sizeof()计算数组大小
- 对类使用sizeof
- visual 在指向缓冲区(字符串 " ")的空指针上使用 sizeof() C++ 以获得以字节为单位的大小?
- 如何在 c++ 中使用 boost:serialization 时解决"sizeof"错误?
- 在类作用域内不能将“static_assert”与“sizeof”一起使用(但方法作用域可以)
- 确定变量的类型并在sizeof()中使用它