我使用的是类功能在C++中是可以返回的东西,或者什么都不
class list
{
int val;
list *next;
}
我想重载[]操作符。这是我想出来的:
int & operator [](int n)
{
list *p;
p=this;
for(int i=0; i<n; i++)
{
p=p->next;
if(p==NULL)
{
cout<<"Index out of range ";
return ?? ;
}
}
return p->val;
}
我想知道是否有返回的情况下,没有任何指标超出范围,因为返回值的类型为int &的方式。
*“可能是最优雅和现代的cpp方式”* - 更重要的是,这是错误的方式。如果一个函数不能实现它的承诺,你会抛出一个异常。不要把一个简单的规则变成一个过度设计的混乱,只是因为你可以使用你拥有的所有流血的边缘工具。 – IInspectable