【发布时间】:2020-05-10 21:22:57
【问题描述】:
我是 C++ 新手,我有一个项目,其中有几个类被分成单独的头文件和源文件。
其中一些类可以访问共享实用程序方法来验证键盘输入,这将非常方便。这是因为我不希望类方法被冗长的、相同的代码处理输入流/缓冲区等堵塞。
我发现this answer 为此类问题推荐命名空间,但我不明白如何将命名空间合并到我的项目中。
比如说我有
// Utility.h
namespace utility {
method1() {...}
method2() {...}
etc..
}
这样做是否不合适:
// Foo.h
#include "Utility.h"
class Foo {
void bar();
}
// Foo.cpp
#include "Foo.h"
void foo::bar {
..do stuff..
utility::method1()
..do more stuff..
}
“Foo”实际上可能是几个使用实用程序相同的类?
我的意图:我有兴趣仅在类方法的主体中使用实用方法,以使代码在多个类方法中发生相同检查时更具可读性。
编辑:添加了我参考过的问题
【问题讨论】:
-
为什么会不合适?到底是什么问题?
-
我想知道这种命名空间的使用是否存在问题(编译器?风格?)。我见过的文档并没有将命名空间作为我上面建议的一种方式(对于我非常未经训练的眼睛)。只是想小心点。
-
好奇它们还能如何被使用?命名空间的“这种使用”有什么特别之处?我并没有真正关注你的担忧。
标签: c++ namespaces