可以看出,当使用内置下标运算符访问数组中的元素时,用于表示下标的表达式必须是无作用域枚举或整型类型的纯右值。而C++入门时学到的 for 循环遍历查看内置数组中时,使用左值作为内置下标运算符的操作对象。
int a[10] = {0};
// i 是左值
for(int i = 0; i < 10; i++)
{
std::cout << a[i] << std:endl;
}
这里通过左值到右值的转换,可以将任何非函数、非数组类型的泛左值隐式转换为纯右值。
可以看出,当使用内置下标运算符访问数组中的元素时,用于表示下标的表达式必须是无作用域枚举或整型类型的纯右值。而C++入门时学到的 for 循环遍历查看内置数组中时,使用左值作为内置下标运算符的操作对象。
int a[10] = {0};
// i 是左值
for(int i = 0; i < 10; i++)
{
std::cout << a[i] << std:endl;
}
这里通过左值到右值的转换,可以将任何非函数、非数组类型的泛左值隐式转换为纯右值。