必须返回对象时,别妄想返回其reference(Don’t try to return a reference when you must return an object.)
reference是对象的另一个名称,它指向一个实际存在的对象。
如果reference指向local 对象,则对象在函数返回前销毁。
如果reference指向new 对象,则函数返回的地方需要进行delete操作,给客户带来不便。
特别的:
const Point& operator * (const Point & lhs, const Point & rhs)
{
Point *p = new Point(lhs.GetX(), rhs.GetY());
return p;
}
Point w, x, y, z;
w = x * y * z;
因为有两次*,所以会new两次,但是只可以获得一个new的指针,另外一个new就被泄露掉了。
注意:
1、绝对不要反回pointer或reference指向一个local stack对象,或返回reference指向一个heap-allocated对象,或返回pointer或reference指向一个local static对象而有可能同时需要多个这样的对象。
分享到:
相关推荐
21. **必须返回对象时,别妄想返回其reference**:返回对象的引用可能会导致悬空引用,应返回对象的拷贝或使用智能指针。 22. **将成员变量声明为private**:封装是面向对象的核心原则,私有成员变量可保护对象的...
条款21:必须返回对象时,别妄想返回其reference 条款22: 将成员变量声明为private 条款23: 宁以non-member、non-friend替换member函数 条款24:若有所参数皆需类型转换,请为此采用non-member函数 条款25:考虑...
条款21:必须返回对象时,别妄想返回其reference don't try to return a reference when you must return an object. 条款22:将成员变量声明为private declare data members private. 条款23:宁以non-member、non-...
在学习C++时,需要注意一些误区,例如C++并非完全面向对象化的语言,真正的面向对象化的语言恐怕只有Java才算得上。学习C++需要注意基本概念的重要性,例如变量类型的重要性和对象模型的设计。 在学习C++时,需要...
案例1.9提出,当面对批评时,我们不应成为妄想狂,而应理性看待。比如“一屁崩过江”的案例,可能是在提醒我们,过于敏感会让我们失去客观分析问题的能力。为避免成为受害者,我们需要学会自我反思,理解批评的真正...
从给定的小学生PPT学习课件中,我们可以提炼出以下几个关键知识点: ### 1. 寓言故事《守株待兔》的理解 - **故事背景**:故事来源于中国古代的一则寓言,讲述了一个种田人在田间偶遇一只撞死在树桩上的兔子后发生...
### 守株待兔——学生学习课件知识点总结 #### 一、寓言与《守株待兔》 - **寓言定义**:寓言是一种通过比喻性故事来表达深刻道理的文学形式,通常简短而富有哲理。故事中的角色可以是人,也可以是动物或其他非...
有效的CPlusPlus 视C ++为一种语言联邦 const,枚举,内联 正确使用const ...必须返回对象时,别妄想返回其参考 将成员变量声明为private 宁以非会员,非朋友替换会员函数 若所有参数皆需类型转换,请逐步采用
### 3寓言两则——小学生学习课件 #### 寓言故事的教育意义 寓言作为一种文学形式,以其简短精炼的故事传达深刻的人生哲理和社会道德观念,深受人们的喜爱,尤其对于儿童来说,寓言故事更是重要的启蒙教材之一。...
在《妄想症DeliverMe》这款游戏中,玩家将面临多个分支选择和存档点,这些选择和点位在很大程度上决定了游戏的走向和最终结局。游戏中的特殊存档点更是关键,正确利用这些存档点不仅能加快游戏进程,还能帮助玩家...
该项目是一款采用JavaScript编写的“妄想山海-混沌风景点”地图设计源码,总计包含29个文件,涵盖10个PNG图片、6个JavaScript脚本、4个GeoJSON地理数据文件、3个CSS样式表、1个editorconfig配置文件、1个gitignore...
"《妄想症DeliverMe》誓言结局攻略" 《妄想症DeliverMe》是一款日本视觉小说游戏,游戏中有多个结局,需要玩家通过特定的选择和操作来解锁不同的结局。本攻略将指导玩家如何解锁不同的结局,包括誓言结局和逃路结局...
### 主动拒绝烟酒与毒品——小学生学习课件知识点总结 #### 一、香烟的危害 1. **化学成分分析**: - 香烟中含有数百种化学物质,其中包括尼古丁、焦油、一氧化碳等有害成分。 - 尼古丁是一种高度成瘾性的物质,...
在编程的世界里,每个程序员都有一段属于自己的学习历程,其中充满了感悟与心得。这篇分享主要探讨了几个关键的学习要点,对于初学者尤其有指导意义。 首先,理解语言的含义至关重要。这里提到的语言不仅包括人类...
16. 环境卫生学研究对象:涉及自然环境和生活环境,关注人类健康与环境之间的关系。 17. 报告涂阳患病率和菌阳患病率的意义:主要是为了监控传染性结核病的分布和控制情况。 18. 近致癌物:是指能诱导肿瘤发生但不...
从这篇初一学生的文章《“傻子”的“妄想”》中,我们可以提炼出几个重要的IT相关知识点,尽管原文更多地涉及人文和社会学领域,但这里尝试将其转换为与信息技术相关的概念。 ### 1. 梦想与创新 #### 技术背景 在...
《妄想症DeliverMe》是一款心理剧情向的游戏,其中替身结局的攻略涉及到玩家对游戏中角色好感度的微妙操控。在游戏中,好感度并非直接显示,玩家需要通过角色的反应来判断。尤其重要的是,守护者和潜意识的好感度呈...
然而,Boyan对海洋塑料垃圾的关注使他做出了一个惊人的决定——辍学并致力于海洋垃圾清理项目。这个决定尽管不被当时大多数人看好,但却体现了他为实现梦想所展现出的执着和决心。Boyan首次意识到海洋垃圾问题是在一...
很抱歉,但根据提供的文件信息,这似乎是一个关于游戏《妄想症》的攻略文档,包含各种剧情选择和不同结局的触发条件。然而,标签指定的是"安全管理",这与游戏攻略内容不符。如果需要关于安全管理的专业知识,例如...