0
foo(const T& t);
foo(T const& t);
據我所知,如出一轍。區別純粹是一種風格的東西。從我能收集的信息來看,前者是一種更「老派」的方式,而後者則是你在新書中可能會經常看到的內容。
表面上有什麼區別和/或陷入嚴峻的細節?
除了堅持代碼庫中的約定之外,是否有任何理由選擇其中之一?
foo(const T& t);
foo(T const& t);
據我所知,如出一轍。區別純粹是一種風格的東西。從我能收集的信息來看,前者是一種更「老派」的方式,而後者則是你在新書中可能會經常看到的內容。
表面上有什麼區別和/或陷入嚴峻的細節?
除了堅持代碼庫中的約定之外,是否有任何理由選擇其中之一?
它們完全一樣。後者更一致,因爲const
總是出現在它修改的東西之後。
如果const
出現在類型說明符序列的末尾之前,它會被推到末尾。就那麼簡單。
當然,英語在修飾後的項目前加上了形容詞。當然,C++不是英語(不是每個人都會說英語)。
在某些情況下(從我記得的東西,當使用模板時)有所不同,但我不記得確切。 –
另外,如果我們在談論sytle:如果你寫'const T&var',你可以更好地表達引用限定符的意圖,因爲像指針限定符一樣,它限定對象,而不是類型。 – 2013-07-15 12:37:47
←上帝該死的問題搜索,我得到的最接近的是比較T&到T && – thecoshman