首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++创建对象,初始化列表还是赋值?

C++创建对象,初始化列表还是赋值?
EN

Stack Overflow用户
提问于 2012-12-16 01:20:57
回答 1查看 2.5K关注 0票数 4

我最近和一位朋友讨论过,他们说在C++中创建对象时,使用初始化列表(而不是简单地分配数据成员)可以提高性能。

为什么会这样(如果这是真的)?

我找到了这个页面:

http://www.parashift.com/c++-faq/init-lists.html

他们提到了临时对象,但我认为最新的编译器可以避免这种情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-16 01:42:24

使用赋值时,对象是在您到达赋值之前默认构造的。如果构造和复制对象是开销很大的操作,那么至少应该去掉其中的一个。初始化列表消除了额外的复制操作。复制构造允许同时执行这两项操作。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13894415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档