gpt4 book ai didi

c++ - 如何限制 "using namespace ..."的范围? C++

转载 作者:行者123 更新时间:2023-12-04 16:59:42 24 4
gpt4 key购买 nike

我有“我的命名空间”的 (myns::) 方法实现文件,在函数之前有很多“myns::”。我想写 using 命名空间,但它会在其他文件中可见。我不能在“使用命名空间 mysp;”之前写“静态”。
my_namespace_file.h:

namespace myns {
void F1();
void F2();
}
my_imp_file.h:
#include "my_namespace_file.h"

// problem is here
using namespace myns;

void F1() {}
void F2() {}
如果我在这里使用“使用命名空间 myns;”并在其他文件中包含 my_imp_file.h 我不会在此文件中使用“myns::”

最佳答案

就这么简单:

#include "my_namespace_file.h"

namespace myns {

void A::F1() {} // class name must be repeated, because you cannot open namespace of the class
void A::F2() {}

}

既然你不应该 #include带有实现的文件,您可以使用 using namespace myns;同样,但如果您创建另一个类,这可能会适得其反 A在不同的命名空间中。最好正确使用命名空间。

关于c++ - 如何限制 "using namespace ..."的范围? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68772487/

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