Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Constants 什么时候调用const版本?_Constants - Fatal编程技术网

Constants 什么时候调用const版本?

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类制作了“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& 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];