neu*_*rte 13 c++ arrays initialization c++11
在C++中,我可以静态初始化一个数组,例如:
int a[] = { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以将动态分配的数组初始化为一组立即值吗?
int *p = new int[3];
p = { 1, 2, 3 }; // syntax error
Run Code Online (Sandbox Code Playgroud)
...或者我必须手动复制这些值吗?
fre*_*low 28
你可以在C++ 0x中:
int* p = new int[3] { 1, 2, 3 };
...
delete[] p;
Run Code Online (Sandbox Code Playgroud)
但我更喜欢矢量:
std::vector<int> v { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
如果您没有C++ 0x编译器,boost可以帮助您:
#include <boost/assign/list_of.hpp>
using boost::assign::list_of;
vector<int> v = list_of(1)(2)(3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11590 次 |
| 最近记录: |