2 han7741 han7741 于 2015.05.29 10:35 提问

C++结构体里构造函数地址怎么获得?
 struct A 
{   
    union 
    {
        char szBuffer[9];
        struct  
        {
            char ch;
            float fl;
            int   i;
        }Value;
    }Data;
    A ()
    {
        Data.Value.ch=1;
        Data.Value.fl=3.14;
        Data.Value.i=2;
    }   
};

A a1;
想打印出a1里A ()函数的地址 怎么实现??请高手指导一下

5个回答

u010973206
u010973206   2015.05.29 11:33
已采纳

C++标准明确规定,不能获取构造函数和析构函数的地址

han7741
han7741 谢谢
2 年多之前 回复
han7741
han7741 谢谢
2 年多之前 回复
u012377333
u012377333   Rxr 2015.05.29 13:26

这个问题很有意思,在c++的结构体里面可以声明构造函数么?

u012377333
u012377333 回复tobeacracker: 那你又是在干吗呢?
一年多之前 回复
tobeacracker
tobeacracker 这都不知道还来回复个毛线,快去看看书吧别再博客上混了,不好!
一年多之前 回复
han7741
han7741 谢谢
2 年多之前 回复
shen_liang_sl
shen_liang_sl   2015.05.29 11:43

可以看看 我博客里 关于如何获取类中任意函数地址的方法

han7741
han7741 谢谢
2 年多之前 回复
u012377333
u012377333   Rxr 2015.05.29 13:26

这个问题很有意思,在c++的结构体里面可以声明构造函数么?

han7741
han7741 看来是可以的了 你该补课了 哈哈
2 年多之前 回复
henuyx
henuyx   2015.05.30 09:58

要知道构造函数是不计算在类的sizeof里的,所以在C里那种通过位置偏移那套计算是行不通的

这是我查到的资料

http://www.cnblogs.com/findumars/p/3746869.html

han7741
han7741 谢谢
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片