码迷,mamicode.com
首页 > 其他好文 > 详细

奇怪,为什么可以运行

时间:2019-03-20 22:08:00      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:形式   cal   space   using   util   复制构造   mes   stream   class   

#include<memory>
#include<iostream>
#include<utility>
#include<string.h>
#include<stdlib.h>
using namespace std;
class Widget{
public:
Widget(){ cout << "Widget constructor called" << endl; }
~Widget(){ cout << "~Widget called" << endl; }
Widget& operator=(const Widget&) { cout << "Widget operator= called" << endl; };
Widget(Widget& a){
cout << &a << endl;
cout << "Widget non-const copy constructor called" << endl;
}

/*Widget(Widget&& a){
cout << &a << endl;
cout << "Widget move constructor called"<<endl;
}*/

};

int main()
{
Widget a;
cout << &a << endl;
Widget();
Widget c(move(a));
//cout << &b << endl;
cout << atoi("130=") << endl;
return 0;
}

这里我将 move(a)作为实参传给了Widget的复制构造函数,但复制构造函数的形参我故意弄成了非const的形式,为什么这样也能接收成功呢?

奇怪,为什么可以运行

标签:形式   cal   space   using   util   复制构造   mes   stream   class   

原文地址:https://www.cnblogs.com/cool-breezer/p/10568024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!