我是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是可变的,它也可以编译。 –