ऐसा लगता है कि std::cout
तरह सदस्य समारोह का पता मुद्रित नहीं कर सकते, उदाहरण के लिए में सदस्य समारोह का पता मुद्रित करने के लिए:कैसे सी ++
#include <iostream>
using std::cout;
using std::endl;
class TestClass
{
void MyFunc(void);
public:
void PrintMyFuncAddress(void);
};
void TestClass::MyFunc(void)
{
return;
}
void TestClass::PrintMyFuncAddress(void)
{
printf("%p\n", &TestClass::MyFunc);
cout << &TestClass::MyFunc << endl;
}
int main(void)
{
TestClass a;
a.PrintMyFuncAddress();
return EXIT_SUCCESS;
}
परिणाम कुछ इस तरह है:
003111DB
1
मैं कैसे कर सकता है std::cout
का उपयोग कर MyFunc
का पता प्रिंट करें?
आकार पर कुछ दिलचस्प आंकड़े और संकेत करने वाली सदस्य कार्यों विभिन्न में के कार्यान्वयन के लिए:
आप इसे इस तरह से उपयोग कर सकते हैं कंपाइलर्स, [इस आलेख] के नीचे चार्ट देखें (http://www.codeproject.com/Articles/7150/Member-Function-Pointers-and-the-Fastest-Possible)। हालांकि, चूंकि वह लेख कुछ हद तक दिनांकित है (2005 में लिखा गया है), संख्याएं अब सटीक नहीं हैं, लेकिन वे एक मोटा विचार देते हैं। –