C++中引用概念
2012-05-30 11:32:10 来源:WEB开发网核心提示:put(9)函数值作为左值,等价于vals[9]=20;cout<<vals[0];cout<<vals[9];}int &put(int n){if (n>=0 && n<=9 ) return vals[n];else { cout<<"subscript
put(9)函数值作为左值,等价于vals[9]=20;
cout<<vals[0];
cout<<vals[9];
}
int &put(int n)
{
if (n>=0 && n<=9 ) return vals[n];
else { cout<<"subscript error"; return error; }
}
(5)在另外的一些操作符中,却千万不能返回引用:+-*/四则运算符。它们不能返回引用,Effective C++[1]的Item23详细的讨论了这个问题。主要原因是这四个操作符没有side effect,因此,它们必须构造一个对象作为返回值,可选的方案包括:返回一个对象、返回一个局部变量的引用,返回一个new分配的对象的引用、返回一个静态对象引用。根据前面提到的引用作为返回值的三个规则,第2、3两个方案都被否决了。静态对象的引用又因为
cout<<vals[0];
cout<<vals[9];
}
int &put(int n)
{
if (n>=0 && n<=9 ) return vals[n];
else { cout<<"subscript error"; return error; }
}
(5)在另外的一些操作符中,却千万不能返回引用:+-*/四则运算符。它们不能返回引用,Effective C++[1]的Item23详细的讨论了这个问题。主要原因是这四个操作符没有side effect,因此,它们必须构造一个对象作为返回值,可选的方案包括:返回一个对象、返回一个局部变量的引用,返回一个new分配的对象的引用、返回一个静态对象引用。根据前面提到的引用作为返回值的三个规则,第2、3两个方案都被否决了。静态对象的引用又因为
- ››引用 Symbian常见panic
- ››引用类型、数值类型及装箱
- ››引用Amazon图书信息2 ——Word 2007高级应用(十八...
- ››引用Amazon 图书信息1——Word 2007高级应用(十七...
- ››引用.NET Framework Class Library 在线文档2——...
- ››引用.NET Framework Class Library 在线文档1——...
- ››概念“云计算”:计算的乌托邦?
- ››引用一个能发email的JavaMail的例子
- ››引用造型protected和private的困惑
- ››引用外部类对象
- ››引用 造型 protected和private的困惑
- ››引用已定义过的包
更多精彩
赞助商链接