DontKissBossAss 2010年12月06日
C++ 什么要有转换(改写用户代码)呢
1: 例子太多了。
The C++ Object model 里面2.3节,程序转换语义学中说了。

已知有这样的定义
X x0;
// 下面的函数
void _foo()
{
X x1(x0);
X x2 = x0;
X x3 = X(x0);
//Deal with x0 x1 x2 x3
}

_foo函数会被大致转换为
void _foo()
{
// 重新定义下面三个变量,删除初始化操作
X x1;
X x2;
X x3;
//编译器安插copy constructor 函数的调用操作
x1.X::X(x0);
x2.X::X(x0);
x3.X::X(x0);
}

程序的所有这些转换,难道都是基于要调用copy constructor 考虑的么?
...全文
22 点赞 收藏 3
写回复
3 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告