内联数组初始化

Gzo*_*org 10 c++ arrays c++11

我习惯了

new int[] {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

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

new int[5] {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

所以编译器忘了怎么算?

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

CB *_*ley 21

这在当前版本的C++中从未起作用,您只能初始化(或不初始化)动态分配的数组.

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

int myarray[] = {1, 2, 3, 4, 5};
Run Code Online (Sandbox Code Playgroud)

也许你对此感到困惑?

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