标签:
在开始之前,首先科普一下cout指针的知识,这样才能在测试程序中很好的理解:
看下面的代码:
void main(void) { int a = 10; int *p = &a; cout << a << endl; cout << p << endl; cout << *p << endl; cout << &a << endl; }
执行结果:
从代码和执行的结果可以看出cout的实现原理:cout<<后面接一个变量的标识符,然后把这个标识符转换成对应的内存地址的门牌号,然后输出这个门牌号里存储的数据。
特别地:cout<<一个指针的时候,要弄明白两件事,输出的结果是这个指针所指向的内存单元的门牌号码,同时还要弄明白这个指针变量的实际存放在内存的哪个内存单元里面。例如:cout<<p这个的输出是p指向的内存单元的门牌号,也就是a的门牌号,但是p的实际存放位置在p对应的内存空间中。
看一个复杂的模型:
标签:
原文地址:http://www.cnblogs.com/stemon/p/4673528.html