4
我期待在C++代碼看起來像這樣的類型的要求:什麼是此模板函數
template<class A>
bool foo(int A::*)
{ /*blah*/ }
什麼是int A::*
結構?對A
型號有什麼要求?
非常感謝!
我期待在C++代碼看起來像這樣的類型的要求:什麼是此模板函數
template<class A>
bool foo(int A::*)
{ /*blah*/ }
什麼是int A::*
結構?對A
型號有什麼要求?
非常感謝!
int A::*
是指向A
類型的int
數據成員的指針。例如,給定類型:
struct Foo { int i; };
struct Bar { double d; };
int Foo::*
是指向Foo
類型的int
數據成員,其僅有效的值都爲空和Foo::i
int Bar::*
的地址是一個指向int
數據成員Bar
,其唯一有效值爲空,因爲Bar
不包含int
數據成員對類型A
強加的唯一要求是它不是原始類型,因爲原始類型顯然不能具有數據成員。
這是一個很好的長期SO線程在這個確切的主題:http://stackoverflow.com/questions/670734/c-pointer-to-class-data-member – 2011-04-10 07:04:22