to wygląda std::cout
nie można wydrukować adres funkcja użytkownika, na przykład:Jak drukować adres funkcji członka w C++
#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;
}
wynik jest coś takiego:
003111DB
1
Jak mogę wydrukować adres MyFunc
za pomocą std::cout
?
Dla ciekawych statystyk dotyczących wielkości i wdrożeń wskaźników-do państwie funkcje w różnych kompilatory, zobacz wykres u dołu [tego artykułu] (http://www.codeproject.com/Articles/7150/Member-Function-Pointers-and-TheFastest-Possible). Ponieważ jednak artykuł ten jest nieco przestarzały (napisany w 2005 r.), Liczby prawdopodobnie nie są już dokładne, ale dają z grubsza odpowiedź. –