我怎么知道数组包含多少个元素C++?

How can I know in C++ how many elements an array contains?

本文关键字:元素 C++ 多少 数组 包含 我怎么知道      更新时间:2023-10-16

例如,我有一个包含 3 个元素的数组

int array [] = {1, 4, 66};

我如何知道array包含多少元素?

使用以下命令执行此操作:

std::size(myarray);

std::size<iterator>.


一些消息来源会告诉您使用像sizeof(myarray)/sizeof(myarray[0])这样的"技巧"。但这很容易出错。数组的名称很容易衰减到指针,这个"技巧"给出了错误的结果。std::size要么工作,要么破坏构建。

另外,当您从 C 数组切换到std::array时,它仍然可以工作

您可以使用sizeof(myarray)/sizeof(int).

但是你真的应该开始使用std::array,它与你的数组做同样的事情并且更安全。并带有size()方法。