《C++ Primer》第五版,中文版。269 頁。
類似的,靜態成員函數也不與任何對象綁定在一起,它們不包含 this 指針。作為結果,靜態成員不能聲明成 const 的,而且我們也不能在 static 函數體內使用this 指針。
因為static成員不是任何對象的組成部分,所以static成員不能被聲明為const,畢竟將成員聲明為const就是承諾不會修改該函數所屬對象.
const用於後置修飾函數時只用於限定成員函數,意味著將被修飾的成員函數的隱式參數——this指針由原來的Class* const變為const Class* const類型,使得在該成員函數內不能修改成員屬性,除非該屬性被mutable修飾。
而static類函數並沒有隱式的this指針,因為其本質上還是屬於C函數——滿足__cdecl調用協定。
而成員函數被稱為__thiscall,帶有隱式的this指針參數。