gpt4 book ai didi

c++ - 将 typedef 转发声明到原始类型

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:19 25 4
gpt4 key购买 nike

在我的文件中说我想做的事:

typedef vector<foo> foos

如果foo是另一个文件中的一个类,我可以转发声明:class foo .但是如果 foo本身就是一个 typedef一个原始的,我不知道如何处理。例如在另一个我做过的文件中说:

typedef int foo

我唯一的选择是#include文件 footypedef 'd in, or to do typedef vector<int> foos ?为了可读性和关​​联性,我宁愿避免这两种选择。还有什么我可以做的吗?

最佳答案

编译器必须知道分配类型的大小才能构建代码。

例如,解决方案是使用句柄的语义。

它们通常是空的*。

当大小合适时,您可以将它们转换为数字。

typedef void* foohandle;

reinterpret_cast<foohandle>(foo);

reinterpret_cast<int32_t>(foo handle);

但更好的做法是使用句柄作为具体类型的指针。

关于c++ - 将 typedef 转发声明到原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508440/

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