我类型转换类使用的存储由其他类设置。我想在执行类型转换时调用第一个类的构造函数。有什么办法可以做到这一点?型铸造的指针调用构造
考虑下面的代码:
class A{
int x;
public:
A() {x = 0;}
};
class B{
double x;
public:
B() {x =0.0f;}
};
B * bObj = new();
A * aObj = reinterpret_cast < A * > (bObj); //Just for the sake of explaining
现在aObj引用分配给BOBJ &内存使用它&存储其内容在那里。 我试图得到构造函数时进行类型转换或之后称为A类的。请帮忙。
我想使用aObj和A的构造函数被调用。这不会发生。毫无疑问,获得内存分配然而,构造函数调用并不会发生。它有填充垃圾值。
你能描述一下你正试图解决的实际问题吗? – NPE
“它有垃圾填充值。”如果当然,因为你用'reinterpret_cast'的方式调用UB。请解释你为什么认为你需要这样做... –
@NPE:我正在学习C++并尝试将对象存储在通用缓冲区中。 (bObj充当上面片段中的缓冲区)。 aObj确实有内存访问,但构造函数调用不会发生这是我想要实现的。 – JNSVS