【发布时间】:2014-02-12 13:49:57
【问题描述】:
这样做是否正确? :
namespace name {
int name;
}
void proc(int name)
{
name::name = name;
}
int main()
{
int name = name::name;
return 0;
}
它适用于 GCC。但这对标准编译器和其他编译器是否可行?
【问题讨论】:
-
对吗?当然。容易明白?我会说不是。那些
name::name = name和name = name::name行让我畏缩。 -
@Proxy:当它在一个名为
name()的函数中返回一个struct name时更有意义。您可以通过减少源代码中唯一拼写的数量来避免拼写错误。与 Python 减少类型错误的方式相同。 -
@KerrekSB Python 会减少类型错误的数量吗?根据我的经验,它只会将此类错误的检测从编译时转移到运行时。
-
@KerrekSB 而且你肯定不希望有一个同名的函数和类型。为了解析 C++,您必须知道符号是否命名了类型或其他名称。
标签: c++ namespaces language-lawyer identifier