草庐IT

Namespace

全部标签

c++ - 使用命名空间..很糟糕吗?

这个问题在这里已经有了答案:关闭12年前.PossibleDuplicate:Whyis'usingnamespacestd;'consideredabadpracticeinC++?每次我使用usingnamespacestd时,我总是觉得“那是一种糟糕的编程习惯”。现在我将于今年12月毕业,获得学士学位。在C.S.中,但我并不声称知道一切,但没有人解释过为什么这会如此糟糕。我了解它的作用,但老实说,我认为这没什么大不了的。有人愿意解释吗?在我看来,它只是让输入cout比std::cout更容易忍受。我可以理解为什么你不想把它放在头文件中,而只是放在一个普通的实现文件中......我

c++ - 使用命名空间..很糟糕吗?

这个问题在这里已经有了答案:关闭12年前.PossibleDuplicate:Whyis'usingnamespacestd;'consideredabadpracticeinC++?每次我使用usingnamespacestd时,我总是觉得“那是一种糟糕的编程习惯”。现在我将于今年12月毕业,获得学士学位。在C.S.中,但我并不声称知道一切,但没有人解释过为什么这会如此糟糕。我了解它的作用,但老实说,我认为这没什么大不了的。有人愿意解释吗?在我看来,它只是让输入cout比std::cout更容易忍受。我可以理解为什么你不想把它放在头文件中,而只是放在一个普通的实现文件中......我

c++ - 跨不同命名空间的友元类。那可能吗

我在尝试使用C++的friend功能时遇到问题。我有这些接口(interface):#pragmaonce#include"Mesh3D.h"#includenamespacetools{namespacesysInput{classCGeometryManager3D{public:boolloadFromFile(render::CMesh3D&mesh,std::stringfilename);CGeometryManager3D(void);~CGeometryManager3D(void);};};};和#pragmaonce#include"GeometryManager.

c++ - 跨不同命名空间的友元类。那可能吗

我在尝试使用C++的friend功能时遇到问题。我有这些接口(interface):#pragmaonce#include"Mesh3D.h"#includenamespacetools{namespacesysInput{classCGeometryManager3D{public:boolloadFromFile(render::CMesh3D&mesh,std::stringfilename);CGeometryManager3D(void);~CGeometryManager3D(void);};};};和#pragmaonce#include"GeometryManager.

c++ - 一个类可以共享一个命名空间的名称吗?

以下C++代码有效吗?namespaceFoo{classBar{//Classcodehere.};}namespaceFoo{namespaceBar{voidSomeFunction();{//Functioncodehere.}}}也就是说,可以有一个与类同名的命名空间吗? 最佳答案 你不能有你的问题的安排,因为没有办法消除Bar的歧义。我的编译器说:errorC2757:'Bar':asymbolwiththisnamealreadyexistsandthereforethisnamecannotbeusedasaname

c++ - 一个类可以共享一个命名空间的名称吗?

以下C++代码有效吗?namespaceFoo{classBar{//Classcodehere.};}namespaceFoo{namespaceBar{voidSomeFunction();{//Functioncodehere.}}}也就是说,可以有一个与类同名的命名空间吗? 最佳答案 你不能有你的问题的安排,因为没有办法消除Bar的歧义。我的编译器说:errorC2757:'Bar':asymbolwiththisnamealreadyexistsandthereforethisnamecannotbeusedasaname

c++ - std::literals::.. 作为内联命名空间有什么好处?

在C++标准(例如N4594)中,operator""s有两个定义:一为std::chrono::seconds:namespacestd{...inlinenamespaceliterals{inlinenamespacechrono_literals{//20.15.5.8,suffixesfordurationliteralsconstexprchrono::secondsoperator""s(unsignedlonglong);一个用于std::string:namespacestd{....inlinenamespaceliterals{inlinenamespacestr

c++ - std::literals::.. 作为内联命名空间有什么好处?

在C++标准(例如N4594)中,operator""s有两个定义:一为std::chrono::seconds:namespacestd{...inlinenamespaceliterals{inlinenamespacechrono_literals{//20.15.5.8,suffixesfordurationliteralsconstexprchrono::secondsoperator""s(unsignedlonglong);一个用于std::string:namespacestd{....inlinenamespaceliterals{inlinenamespacestr

c++ - 是否可以给枚举类枚举器起别名?

给定一个C++11枚举类,嵌套在几个长而丑陋的命名空间中:namespacelong_and_ugly{enumclasscolour{red,green,blue};}可以为枚举值制作别名吗?使用clang++3.5,可以执行以下操作:usinglong_and_ugly::colour;//takeallthevaluesintothecurrentnamespaceusinglong_and_ugly::colour::red;//takeonly'red'intothecurrentnamespacefunction_taking_colour_argument(red);//

c++ - 是否可以给枚举类枚举器起别名?

给定一个C++11枚举类,嵌套在几个长而丑陋的命名空间中:namespacelong_and_ugly{enumclasscolour{red,green,blue};}可以为枚举值制作别名吗?使用clang++3.5,可以执行以下操作:usinglong_and_ugly::colour;//takeallthevaluesintothecurrentnamespaceusinglong_and_ugly::colour::red;//takeonly'red'intothecurrentnamespacefunction_taking_colour_argument(red);//