c++ - 内联数组初始化

标签 c++ arrays c++11

习惯了

new int[] {1,2,3,4,5};

用于初始化数组。但现在看来,这不再有效了,我必须明确说明有多少元素,用

new int[5] {1,2,3,4,5};

所以编译器忘记了如何计数?

为了使这个问题成为封闭式问题,有没有办法省略元素的数量?

最佳答案

这在当前版本的 C++ 中从未奏效,您只能零初始化(或不初始化)动态分配的数组。

一直有效的是非动态分配的数组初始化:

int myarray[] = {1, 2, 3, 4, 5};

也许你把它和这个搞混了?

即使在 C++0x 中,在新表达式中省略显式数组大小说明符也是不合法的语法。

关于c++ - 内联数组初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4583628/

相关文章:

c++ - cpplint.py 和 cmake : how to specify include files

ios - 如何快速打印数组中对象的值,而不是它的位置

c++ - 在子类中填充静态类成员

c++ - boost 图形库 : Merging undirected graphs

c++ - 如何序列化结构并将其存储在 MySQL 数据库中?

c++ - 自动类型推导和 auto&& 与 auto

php - 如何读取类的数组对象

c++ - 为什么必须在基于范围的 for 循环中使用引用

c++ - 闭包类的可变参数模板推导/匹配

c++ - 遍历 vector 中除第一个元素以外的所有元素