我是C++的初學者,我有一個問題,我想確保...我已經在網上搜索過了。在C++中,做一個別名const
假設我有一個類調用A,它有一個名爲Afunction的函數。該函數的樣子:
// this is pseudocode
void Afunction (const A& a)
{
a.something = a.something +1;
}
我的理解是,我們有一個名爲「A」的「類指針」的事情,它是一個別名,無論我們在通過這裏我們只確保別名本身是常量,但。不保證它指向的價值不會改變。事實上,我正在改變它..而且我沒有得到任何錯誤。
所以我的問題是,我如何確保別名指向的值不能更改?如果它的指針不是別名,它會容易得多...
在此先感謝。
該代碼不應編譯。 – Pubby
如果'A :: something'是一個賦值運算符被重載並聲明爲'const'的類型,那麼代碼*可以*實際編譯。 (除非我錯過了某些東西) –
如果A :: something是可變的,它也可以編譯。 –