我想在同一个.cpp文件中包含多个命名空间。
虽然广泛使用std
,但名称空间z3
将在25个KLOC文件的大约10%中使用。
将两者同时用作
是不错的做法 using namespace std;
using namespace z3;
我正在考虑仅使用std
,然后在需要时通过提及namespase来使用Z3
方法。像,
using namespace std;
z3::context c;
z3::solver s;
哪种更好的做法?
我不想将它们重命名为一个命名空间。
谢谢和问候, 萨卡尼亚
答案 0 :(得分:18)
实际上,最好不要将整个命名空间导入到程序中,因为它会污染您的命名空间。这可能导致命名冲突。最好只导入您正在使用的内容。
所以而不是:
using namespace z3;
你应该这样做:
using z3::context;
答案 1 :(得分:2)
您也可以在功能体内使用namespace
实际需要的地方,例如:
void foo()
{
using namespace std;
using z3::context;
// some implementation
};