Rav*_*erg 0 c++ const operator-overloading
我得到了一个实现模板数组类的任务.其中一个要求是重载[]运算符.我制作了这两个const和非const版本,似乎工作正常.
const T& operator[](const unsigned int index)const
Run Code Online (Sandbox Code Playgroud)
和
T& operator[](const unsigned int index)
Run Code Online (Sandbox Code Playgroud)
我的问题是当我做类似的事情时,编译器将如何知道运行哪一个:
int i=arr[1]
Run Code Online (Sandbox Code Playgroud)
在非const数组?
非const函数将始终在非const数组上调用,const函数在const数组上调用.
当您有两个具有相同名称的方法时,编译器会根据参数的类型以及隐式对象参数(arr)的类型选择最合适的方法.
前几天我刚刚回答了类似的问题,你可能会觉得它很有帮助:https://stackoverflow.com/a/16922652/2387403
| 归档时间: |
|
| 查看次数: |
2665 次 |
| 最近记录: |