我正在閱讀Modern C++設計。關於作業人員的大小,如下所述被記載。以下段落從泛型編程的角度進行了解釋。關於C++中sizeof運算符的功能
sizeof有一個驚人的功能:無論多麼複雜,您都可以將sizeof應用於任何表達式,並且sizeof返回其大小,而無需在運行時實際評估該表達式。這意味着sizeof意識到重載,模板實例化,轉換規則 - 所有可以參與C++表達式的東西。實際上,sizeof隱藏了推導表達式類型的完整工具;最終,sizeof拋出表達式並僅返回其結果的大小。
我的問題是作者是什麼意思sizeof返回其大小與實際評估在運行時的展望。並且在最後一行中提到sizeof拋出表達式。請求幫助理解這些陳述,如果它是用示例完成的話,那將是很好的。
由於
想想表達式中的「i ++」或函數/方法調用; 'sizeof'顯然不會執行那些跟蹤類型的報告結果的大小。我從來不知道C++'sizeof'太強大了:)謝謝! – sarnold 2011-02-26 11:08:15
這篇文章可能會幫助你http://stackoverflow.com/questions/671790/how-does-sizeofarray-work – 2011-02-26 11:12:33
我想這就是爲什麼'decltype'是第一個C++ 0x可用,因爲機制已經可用無論如何:) – 2011-02-26 12:45:43