如何使用sizeof(a)/sizeof(a[n])

How to use sizeof(a)/sizeof(a[n])

本文关键字:sizeof 何使用      更新时间:2023-10-16

如果您更改数组大小,为了避免事情悄悄中断,我建议使用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])

选择哪个元素并不重要(ien0

如果a是一个数组,则sizeof(a)/sizeof(a[0])a中的元素数量。它是每个元素大小的整个数组的大小。

因此,如果a是一个数组,那么a + sizeof(a)/sizeof(a[0])是指向数组末尾后面的指针。