第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C ++ 11 auto關(guān)鍵字多少錢太多了?

C ++ 11 auto關(guān)鍵字多少錢太多了?

C++
回首憶惘然 2019-08-06 15:14:58
C ++ 11 auto關(guān)鍵字多少錢太多了?我一直在使用autoC ++ 11標準中提供的新關(guān)鍵字來處理復雜模板類型,這是我認為它的設(shè)計目標。但我也用它來做:auto foo = std::make_shared<Foo>();更加懷疑的是:auto foo = bla(); // where bla() return a shared_ptr<Foo>我沒有看到很多關(guān)于這個話題的討論。似乎auto可能過度使用,因為類型通常是文檔和健全性檢查的一種形式。您在哪里繪制使用線auto以及此新功能的推薦用例是什么?澄清:我不是要求哲學觀點; 我要求標準委員會對該關(guān)鍵字的預期用途,可能還有關(guān)于如何在實踐中實現(xiàn)該預期用途的評論。旁注:此問題已移至SE.Programmers,然后返回Stack Overflow。關(guān)于這一點的討論可以在這個元問題中找到。
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

盡可能auto在任何地方使用- 特別是const auto這樣可以減少副作用。除了明顯的情況外,您不必擔心類型,但它們?nèi)匀粫槟M行靜態(tài)驗證,并且您可以避免重復。在auto不可行的地方,您可以使用decltype語義表達類型作為基于表達式的契約。您的代碼看起來會有所不同,但這將是一個積極的變化。


查看完整回答
反對 回復 2019-08-06
?
慕姐8265434

TA貢獻1813條經(jīng)驗 獲得超2個贊

我認為auto只要很難說第一眼看到如何寫類型就應(yīng)該使用關(guān)鍵字,但表達式右側(cè)的類型是顯而易見的。例如,使用:


my_multi_type::nth_index<2>::type::key_type::composite_key_type::

    key_extractor_tuple::tail_type::head_type::result_type

獲取復合鍵類型boost::multi_index,即使你知道它是int。你不能只是寫,int因為它可以在將來改變。我會寫auto這個案子。


因此,如果auto關(guān)鍵字提高了特定情況下的可讀性,則使用它。auto當讀者明白哪種類型auto代表時,你可以寫。


這里有些例子:


auto foo = std::make_shared<Foo>();   // obvious

auto foo = bla();                     // unclear. don't know which type `foo` has


const size_t max_size = 100;

for ( auto x = max_size; x > 0; --x ) // unclear. could lead to the errors

                                      // since max_size is unsigned


std::vector<some_class> v;

for ( auto it = v.begin(); it != v.end(); ++it )

                                      // ok, since I know that `it` has an iterator type

                                      // (don't really care which one in this context)



查看完整回答
反對 回復 2019-08-06
  • 3 回答
  • 0 關(guān)注
  • 421 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號