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的一段代码。有人可以向我解释第二行是什么意思。这是一种初始化方式吗?我在哪里可以找到这种初始化?我搜索了很多但仍然无法获得相关信息。也欢迎链接。非常感谢!
答案 0 :(得分:5)
这是复制初始化。对于基本类型,它与使用=
:
int k = 42;
//is the same as :
int k(42);
这意味着第2行可以重写为以下内容并且仍然具有相同的含义:
auto ia2 = ia;
auto
将在此处扣除int*
。