今天我也冒充一下标题党。呵呵。
用g++编译代码时,struct中也有this指针。
我的g++版本:g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
以下代码只可用g++编译,不可以用gcc编译。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include<stdio.h>
struct
point{
int
x;
int
y;
point(
int
_x = 0,
int
_y = 0) : x(_x), y(_y){
printf
(
"(this, x, y) = (%p, %d, %d)\n"
,
this
, x, y);
}
};
int
main(){
struct
point po1(5,6);
printf
(
"(&po1, x, y) = (%p, %d, %d)\n"
, &po1, po1.x, po1.y);
}
|
测试结果:
(this, x, y) = (0x7fff179d2a60, 5, 6) (&po1, x, y) = (0x7fff179d2a60, 5, 6) |
本文转自FrankNie0101 51CTO博客,原文链接:http://blog.51cto.com/frankniefaquan/1935141,如需转载请自行联系原作者