operator[] 运算符返回引用和返回值得不同const修饰

对于返回值的,一般作为右值进行获取,所以这个过程中应该是不变动内部的值
对于返回引用的,一般作为左值进行赋值,所以不能采用const修饰

float operator[] (const size_t i) const{
	return *(&x+i);
}

float& operator[] (const size_t i){
	return *(&x+i);
}

猜你喜欢

转载自blog.csdn.net/shujianlove0/article/details/84768696