我一直在阅读一本C++书籍,并找到了这两个函数:
int &Array::operator []( int subscript ) // first
{
//code
return ptr[ subscript ];
}
int Array::operator[]( int subscript ) const //second
{
//code
return ptr[ subscript ]; // value return
}
这个想法是创建一个数组对象并访问一些私有成员,例如:
Array myArray;
cout << myArray[ 2 ];
但我不理解这些函数之间的区别,因为每次我键入像“cout << myArray[ 2 ]”这样的代码时,第一个函数都会被调用。那么第二个函数是在什么时候被调用的?第二个函数有用吗?
const Array myArray
会怎样? - tadman