这是数组初始化吗?

时间:2015-12-26 13:01:07

标签: c++ arrays

int ia[] = {0,1,2,3,4,5,6,7,8,9}; // ia is an array of ten ints
auto ia2(ia); // ia2 is an int* that points to the first element in ia
ia2 = 42;     // error: ia2 is a pointer, and we can't assign an int to a pointer

这是关于C ++ Primer的一段代码。有人可以向我解释第二行是什么意思。这是一种初始化方式吗?我在哪里可以找到这种初始化?我搜索了很多但仍然无法获得相关信息。也欢迎链接。非常感谢!

1 个答案:

答案 0 :(得分:5)

这是复制初始化。对于基本类型,它与使用=

相同
int k = 42; 
//is the same as : 
int k(42);

这意味着第2行可以重写为以下内容并且仍然具有相同的含义:

auto ia2 = ia;

auto将在此处扣除int*