作者QQ29 (我爱阿蓉)
看板C_and_CPP
标题Re: [问题] 请问这印出的东西代表什麽??
时间Thu Jun 18 09:15:01 2009
F大您好
您推文的连结我有不解的地方在於
class PTM {
public:
int iValue;
static float fValue;
};
float PTM::fValue=123.0f;
int main()
{
int PTM::*piValue = &PTM::iValue; // OK: non-static
float PTM::*pfValue = &PTM::fValue;; // C2440 error: static
float *spfValue = &PTM::fValue; // OK
system("PAUSE");
return 0;
}
float PTM::* 这是什麽函意 有特殊的名字说这种指标嘛?
这好像是我以前看到的pointer to member function
http://caterpillar.onlyfun.net/Gossip/CppGossip/MemberFunctionPtr.html
不过又好像不是~~
用途在哪里呢
我印出piValue 就是我上篇印出的1..... 两个一样吗?不是很了解.....
而这连结的重点是 &PTM::如果是static 就是回传 *static变数型态
所以float PTM::* assign给这种指标就错了?
另一个是说non-static的话&PTM::iValue 取address 是回传PTM::* non-static变数型态
以上有解读错误嘛
谢谢 也谢谢Z大
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.207.187
1F:推 Fenikso:float PTM::*意思是指向PTM里面的float变数的指标 06/18 17:38
2F:→ Fenikso:用法跟pointer to member function差不多 06/18 17:38
3F:→ Fenikso:名字.. 就叫pointer to member吧(汗) 06/18 17:39
4F:推 zlw:谢谢,大致了解了。还要搭配两个运算子.*跟-> 而在C++ Primer 06/18 19:12
5F:→ zlw:的18.3 Pointer to Class Member有比较详细的解释。 06/18 19:13
6F:→ zlw:打错,两个运算子.*跟->* 06/18 19:13