一个关于构造函数的问题

tjsniper 2005-03-17 05:33:46
请问各位高手,如果在类中一个构造函数都不写,在创建对象时C++真的会调用它自己的默认构造函数创建对象吗,怎么我这样做时C++会报错呢?
还有临时对象与无名对象有什么区别呢?
请各位高赐教,谢谢!
...全文
91 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sloriver 2005-03-17
  • 打赏
  • 举报
回复
会调默认的构造函数

临时对象几乎到处存在。
大多数的时候,它会影响我们程序执行的效率,但是有些时候,我们却又想避免临时对象的产生。
产生:
凡是按值传递对象的时候,就会有临时对象的产生:
1 参数按值传递
2 返回值按值传递
3 复杂的计算表达式,因为要存储临时的计算值

避免:
以引用的方式传递就会避免产生临时对象

必须使用:
因为引用必须有一个实在的可引用的对象,否则引用是错误的。
在没有实在的可引用的对象的时候,你就必须依赖于临时对象。

没有名字的对象就是临时对象,它存在于完整的表达式的生存其间。也就是说,当表达式计算结束后就会被释放。一个例外是,当临时对象被引用时,它的生存期将延长到与这个引用的生存期一样长。
xindao_wang 2005-03-17
  • 打赏
  • 举报
回复
会调构造函数
oyljerry 2005-03-17
  • 打赏
  • 举报
回复
无名对象用在值拷贝时
临时对象..
oyljerry 2005-03-17
  • 打赏
  • 举报
回复
会调用默认的构造函数的
非著名码农 2005-03-17
  • 打赏
  • 举报
回复
是会调用默认构造函数的啊,是不是有其他地方写错了
vc_60 2005-03-17
  • 打赏
  • 举报
回复
你看一下C++ PRIMER!答案就在那里!

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧