今天我也冒充一下标题党。呵呵。
用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) |