我怎么知道数组包含多少个元素C++?
How can I know in C++ how many elements an array contains?
例如,我有一个包含 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()
方法。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素