我在.h
文件中有以下类定义:
namespace N {
struct S {
S(); // no definition for member here
};
}
我希望在 .cpp
文件中编写类构造函数(成员函数)。我考虑以下两种情况:
namespace N { S::S() { /* definition */ } }
using namespace N; S::S() { /* definition */ }
我有点困惑为什么第二个选项能够工作,因为今天之前从未见过这种定义方式。请提供一些标准引用,以便了解第二个选项是如何工作的。
使用这两种方法有什么微妙的差别?我应该选择第一种还是第二种形式?
using namespace
是用于“使用”,即调用函数、使用变量等情况,而不是用于定义。例如,您不能以同样的方式定义一个类。 - αλεχολυτ