EffectiveC++ Item21
2012-10-23 00:12
155 查看
返回对象时,不能返回引用;
其实在前几个item里就反复讲到operator的时候;
Widget& operator=(int rhs)
{
...
return *this;
}
这里就返回了引用;
但这个item里,作者又举出了反例;
const Widget operator*(const Widget&,const Widget&)
{
return Widget(....);
}
因为这样返回local 对象是很危险的,毕竟引用或指针所指的对象都消失了,还能操作它吗?很显然是很危险的。
大师说的有道理,嗯,今天到这。
其实在前几个item里就反复讲到operator的时候;
Widget& operator=(int rhs)
{
...
return *this;
}
这里就返回了引用;
但这个item里,作者又举出了反例;
const Widget operator*(const Widget&,const Widget&)
{
return Widget(....);
}
因为这样返回local 对象是很危险的,毕竟引用或指针所指的对象都消失了,还能操作它吗?很显然是很危险的。
大师说的有道理,嗯,今天到这。
相关文章推荐
- 读书笔记 effective c++ Item 21 当你必须返回一个对象的时候,不要尝试返回引用
- 读书笔记 effective c++ Item 21 当你必须返回一个对象的时候,不要尝试返回引用
- C++之Effective STL学习笔记Item21
- 读书笔记 effective c++ Item 21 当你必须返回一个对象的时候,不要尝试返回引用
- Effective C++ Item 21 必须返回对象时,别妄想返回其reference
- C++之Effective STL学习笔记Item20
- Effective C++ Item6 如何阻止对象拷贝函数?
- Effective C++ Item 08-别让异常逃离析构函数
- 读书笔记 effective c++ Item 9 绝不要在构造函数或者析构函数中调用虚函数
- More Effective C++ 读书摘要(五、技巧1)Item25 - 27
- Effective C++ Item 44 将与參数无关的代码抽离 templates
- 读书笔记 effective c++ Item 13 用对象来管理资源
- Effective C++ Item 38 通过复合塑模出 has-a 或 is-implemented-in-terms-of
- Effective C++ Item 40 明智而审慎地使用多重继承
- Effective C++ Item 1:View C++ as a federation of languages
- Effective C++ Item 39 明智而审慎地使用 private 继承
- Effective C++ Item 29 为”异常安全”而努力是值得的
- Effective C++ Item 15 Provide access to raw resources in resource-managing classes
- <Effective Mordern C++>笔记:Item 3:Understand decltype .
- More Effective C++之Item M9:使用析构函数防止资源泄漏