今天我也冒充一下标题党。呵呵。
用g++编译代码时,struct中也有this指针。
我的g++版本:g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
以下代码只可用g++编译,不可以用gcc编译。
#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) |
转载于:https://blog.51cto.com/frankniefaquan/1935141