2 jianke1989 jianke1989 于 2014.10.25 12:05 提问

C++类中的一个小问题,求大神指教

请问下面两段输出结果一样的代码在内存层面上有什么不同,有点搞不清。

代码1:

1 #include
2 using namespace std;
3 struct Test{
4 int a;
5 Test(int a){
6 Test::a=a;
7 }
8 };
9 int main(){
10 Test t(100);
11 cout<<t.a<<endl;
12 }

代码2:

1 #include
2 using namespace std;
3 struct Test{
4 int a;
5 Test(int a){
6 this->a=a;
7 }
8 };
9 int main(){
10 Test t(100);
11 cout<<t.a<<endl;
12 }

1个回答

happyparrot
happyparrot   Ds   Rxr 2014.11.05 17:21

感觉没啥区别。Test::a也是为了区分这个a是哪个a,与this->a应该指向的都是当前对象的a变量

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!