[英]Is this an array initialization?
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上的一段代碼。 有人可以向我解釋第二行是什么意思。 這是初始化的方法嗎? 在哪里可以找到這種初始化? 我進行了很多搜索,但仍然無法獲得相關信息。 也歡迎鏈接。 非常感謝!
這是副本初始化。 對於基本類型,它與使用=
相同:
int k = 42;
//is the same as :
int k(42);
這意味着第二行可以重寫為以下內容,但仍具有相同的含義:
auto ia2 = ia;
auto
將在此處扣除為int*
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.