作者QQ29 (我爱阿蓉)
看板C_and_CPP
标题[问题] 请问这印出的东西代表什麽??
时间Thu Jun 18 02:16:30 2009
class D{
public:
void Address(){cout<<&D::aa<<endl;}
int aa;
};
D d;d.Address();印出1...
我无意间忘了加上&()印出1
请问这个1是什麽意思阿?
还是没有意义
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.207.187
1F:推 zlw:你认为你取什麽值?我认为没有语意,你的 int aa;并不是static 06/18 04:08
2F:→ zlw:除非有个static int s; 然後在全域定义 int D::s = 0; 後,你 06/18 04:09
3F:→ zlw:存取D::s才是得到其值0。你存取&D::s才是得到其位址。你这只是 06/18 04:09
4F:→ zlw:刚好编译器这样给吧?下中断点就会发现IDE应该不会给你什麽值 06/18 04:10
5F:推 zlw:补充一下,class的static data member是外部连结,跟非class的 06/18 04:12
6F:→ zlw:static是相反。 06/18 04:12
8F:→ zlw:C的static不同,就是在说这件事。 06/18 04:15
10F:→ Fenikso:看第一个范例 06/18 04:26
11F:推 zlw:英文不好,看不太懂,意思是对non static做address of就会传回 06/18 04:55
12F:→ zlw:int D::* 型态的指标?这种指标会在哪边用到?谢谢 06/18 04:56