A Foolish Consistency – // info

slashslash.info

有兩種 C++ 人-"East Const" and "West Const"。蝦小,常數宣告也分東西邊?是的,const 寫法有兩種,「相傳」是為了相容於 C 語言,不過我還沒查證。兩種寫法的差別在於 const 是在所「修飾」的型別左邊(West)還是右邊(East):

East Const

float const kSamHeight = 182.5;

West Const

const float kSamHeight = 182.5;

這很重要嗎?多數時候不重要,但重要的時候很重要。現在不是重要的時候,以後再寫文章說明究竟有多重要。現在就想知道?可以先啃這個討論串

本文作者在 C++ 圈頗有「份量」,這篇文章主要是抱怨 C++ Core Guidelines 裡建議使用 West Const 的理由竟然是「比較多人用、大家都這麼用,很多專案都這麼用了...」。

作者認為 East Const 可以讓 C++ 標準更簡潔,本來是這樣:

const modifies what is on its left. Unless there is nothing on its left, in which case it modifies what’s on its right.

可以縮減成這樣:

const modifies what is on its left.

越簡單越不容易出意外,這道理說得通。但 C++ Core Guidelines 基於現實的考量也不算錯。說那麼多,我是 "West Const" 派,你是什麼派呢?

最後,作者的部落格網域頗有新意,你看出來了嗎?

Read more...
Linkedin

Want to receive more content like this in your inbox?