Azurewarth 2015-09-29 05:20 采纳率: 0%
浏览 1419

编译器合成默认构造函数问题

最近看《深度探索C++对象模型》,遇到了一个疑问。
在4种情况下会合成nontrivial构造函数,那其他情况到底是【没有合成构造函数】还是合成了无用的【trivial构造函数】?
虽然这两者的外在表现一样,但内部这个构造函数是否被合成?
P40框内说合成,P47结尾又说没有被合成。

书中还有一句“Default constructor的合成操作只有在constructor真正需要被调用时才会发生”,那么对以下语句是否合成了构造函数?

if(condi) {
    A* a = new A;
}else {
    B* b = new B;
}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 17:47
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?