我有一个简单的课程
if(indexPath.row == selectRow) {
myCell.detailTextLabel?.text = self.updateTimer()
}
我的问题是,class Array
{
public:
Array();
~Array();
// Dereferencing operators
int operator[](std::size_t index) const;
int& operator[](std::size_t index);
}
在什么条件下被调用?如何强制C ++调用int operator[](std::size_t index) const
而不是int operator[](std::size_t index) const
?如果我只实现其中一个运算符会发生什么?
答案 0 :(得分:1)
我的问题是,在什么条件下调用int operator [](std :: size_t index)const?
当它在const的实例上调用时是
如何强制C ++调用int operator [](std :: size_t index)const而不是int& operator [](std :: size_t index)?
将数组的可变实例强制转换为const引用
如果我只实现其中一个运算符会发生什么?
如果只实现const 1,则无法使用operator[]
写入下标。
如果只实现非常量的,则无法读取数组的const实例的下标。