Constants 什么时候调用const版本?
我为A类制作了“T运算符[](int I)常量”和“T&运算符[](int I)” (我还尝试了“常量T和运算符[](int I)const”和“T和运算符[](int I)”) 运算符打印一个值以区分调用哪个运算符Constants 什么时候调用const版本?,constants,Constants,我为A类制作了“T运算符[](int I)常量”和“T&运算符[](int I)” (我还尝试了“常量T和运算符[](int I)const”和“T和运算符[](int I)”) 运算符打印一个值以区分调用哪个运算符 A a; int k = a[0]; k = a[0]; const int l = a[0]; 结果:三次调用非常量版本 如何调用const版本? 我应该使用const类吗? 如果不使用const类,就无法调用const版本的函数?您可以使用const引用: const A&a
A a;
int k = a[0];
k = a[0];
const int l = a[0];
结果:三次调用非常量版本
如何调用const版本?
我应该使用const类吗?
如果不使用const类,就无法调用const版本的函数?您可以使用const引用:
const A& b=a;
k=b[0];
或常量演员:
k=const_cast<const A&>(a)[0];
k=const_cast(a)[0];
您可以使用常量引用:
const A& b=a;
k=b[0];
或常量演员:
k=const_cast<const A&>(a)[0];
k=const_cast(a)[0];