如何理解c++primer中關於auto的說明?
01-06
primer中有這樣兩句:
1、auto一般會忽略掉頂層const,同時底層const則會保留下來。2、設置一個類型為auto的引用時,初始值中的頂層常量屬性仍然保留。和往常一樣,如果我們給初始值綁定一個引用,則此時的常量就不是頂層常量了。第二句中的兩個初始值,分別指代的是什麼?
auto fuck = shit;
在常見的情況下相當於
remove_reference_t&
如果你不想要這個效果的話,可以使用C++最新的邪神寫法:
decltype(auto) fuck = shit;
看一下這個:item 1:理解template類型的推導auto和template是一樣的,如果還不知道:item 2: 理解auto類型的推導
Auto的推導方式和模板參數推導是一樣的,根據是不是universal reference分了幾種情況,有興趣的話可以去看modern effective c++的第一章。
頂層常量和底層常量的區別
推薦閱讀:
※新手如何閱讀《C++ Primer》?
※string頭文件和string.h頭文件是一樣的?
※為什麼c++要「在頭文件中聲明,在源文件中定義」?