C++-trivial constructor的作用

C++-trivial constructor的作用

泛泛之交 发布于 2017-04-19 字数 128 浏览 1247 回复 3

编译器在特定条件下会生成一个trivial constructor,翻译就是没有用、没有意义的构造函数,既然是无用的,编译器为什么要生成呢?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2017-10-16 3 楼

参考一下这个资料:
Use of trivial constructor

瑾兮 2017-08-07 2 楼

对于下面的类:

class A{
int i,j
}

在通过A a来创建对象的时候,对于C++的语法规定而言,是需要调用构造函数的,所以这个时候编译器会生成一个trivial constructor来达到这样的要求,虽然这个构造函数没有任何代码。也就是说这个trivial constructor是为了遵守C++的语法而生成的,这就是为什么编译器要生成它。如果语法上没有要求,是可以不生成的。

夜无邪 2017-04-22 1 楼

不会生成,non-trival constructor的编译器才会生成。
详情可以参考《深入探索C++对象模型》一书。