簡體   English   中英

這是數組初始化嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM