gpt4 book ai didi

c++ - 将函数参数从 void* 转换为 actual

转载 作者:太空狗 更新时间:2023-10-29 20:00:32 26 4
gpt4 key购买 nike

我有一个将 void* 传递给结构的例程。在里面例程我将它转换为正确的类型,例如

SomeFunc(void* pMsg) {
printf("Event = %d\n", static_cast<struct MyEventMsg*>(pMsg)->Event);
}

如果我正在访问结构的许多成员,代码看起来很漂亮杂乱。我可以创建一个正确类型的新指针并分配它cast void*,但似乎没有必要创建一个临时变量只是为了这个目的。有什么办法可以投参数 pMsg 为正确的类型?

谢谢道格

最佳答案

创建正确类型的指针并为其分配 void* 的类型是正确的方法。如果您为指针选择一个“好的”名称,它将使代码更短且更易于阅读。

你说你认为指针“不必要”。如果这是因为您认为存在与之相关的运行时成本,您很可能会发现编译器会为您消除指针。

关于c++ - 将函数参数从 void* 转换为 actual,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446097/

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