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