gpt4 book ai didi

具有相同类名的c++头文件

转载 作者:行者123 更新时间:2023-11-28 03:21:04 29 4
gpt4 key购买 nike

我是一名工科学生,不是一个非常强大的程序员。我的一项作业包括使用 openGL 创建 VR 程序。我得到了一个使用 gmtl 的模板(我真的不想重写)标题广泛。该作业需要实现一些 sixense模拟中的位置跟踪器硬件,然而,sixense 硬件和 gmtl 的 header 都有许多具有相同名称的类(平面、线等)。有什么我可以做的来使用这两者而不涉及通过大量代码和重命名吗?

最佳答案

正如评论者所说,它们位于不同的命名空间中,所以您应该没问题,只要您完全限定您的命名空间,这也是一种很好的做法:

namespace foo { int value; }
namespace bar { int value; }

int main()
{
foo::value = 1;
bar::value = 2;
return 0;
}

如果你鲁莽地使用using namespace,你只会遇到麻烦:

namespace foo { int value; }
namespace bar { int value; }

using namespace foo;
using namespace bar;

int main()
{
value = 1; // which value is this???
return 0;
}

在实践中,如果你有结构良好的模块化代码,就很少需要在同一个源文件中使用两个同名的类,而且通常这些类做同样的事情,这意味着你可以在“转换”源文件中隔离冗长的完全限定类型名称,并在您的其他源文件中继续使用 using namespace

关于具有相同类名的c++头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15422781/

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