[C/C++]decltype和auto區別

  • auto是根據在定義的時候的”初始值“,來推斷類型。而decltype是根據操作數來推斷類型的。即delctype後面括號中的表達式,是不需要計算值的,有表達式也不會實際去賦值的。兩者區別顯而易見,就是可以有初始值,那麼用auto,如果沒有,那麼從表達式操作數也可以進行推斷,這個時候使用decltype;
  • 【注意】:auto和decltype主要是用於一些很難推斷出類型的,比如模板類中使用。實際寫代碼不要爲了偷懶,寫個auto類型,這樣不利於後期代碼的維護;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章