gpt4 book ai didi

c++ - 如果结构相似,在两个不相关的类型之间进行转换是否安全?

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:03 25 4
gpt4 key购买 nike

这是我们团队的小项目(学术)的一段代码

class B{
public:
DWORD GetLen(){return i;}
DWORD i ;
};
class A
{
public:
DWORD GetLen(){return j;}
public:
int j ;

};

B b;
b.i = 2;
A * pA = (A *)&b;
int j = pA->GetLen();

“j”将为 2。这段代码安全吗?或者,我应该修改它什么?通过使用 reinterpret_cast 或 static_cast?还是其他想法?

最佳答案

Is this code safe?

没有。

What should I do to correct it?

移除强制转换,仅在 A 的实例上调用 A 的成员函数。

至于你应该做什么,嗯,这完全取决于你实际想做什么。

关于c++ - 如果结构相似,在两个不相关的类型之间进行转换是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5321152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com