草庐IT

register_namespace

全部标签

C++ 标准 : do namespace-scoped constexpr variables have internal linkage?

假设我们有一个标题foo.h包含以下内容:#ifndefFOO_H_#defineFOO_H_namespacefoo{constexprstd::string_viewkSomeString="blah";}#endif//FOO_H_foo::kSomeString是否保证在包含foo.h的任何翻译单元中具有内部链接?这在C++11和C++17之间是否有所不同?在标准草案中[basic.link]/3说Anamehavingnamespacescopehasinternallinkageifitisthenameof[...]anon-inlinevariableofnon-vol

c++ - 匿名命名空间内的 "using namespace"语句

当在匿名命名空间中使用usingnamespace语句时,将使用的命名空间带入文件范围?例如:namespacefoo{intf(){return1;}}namespace{usingnamespacefoo;}inta(){returnf();//Willthiscompile?} 最佳答案 根据7.3.4[namespace.udir]第4段,命名空间指令是可传递的:Forunqualifiedlookupnominatesasecondnamespacethatitselfcontainsusing-directives,th

C++ : Extern C Functions inside a Namespace

我必须链接两个库,比如A和B。其中一些文件在两个库中是通用的。所以,我在命名空间内的库A中声明函数,比如abc。因此,在A和B中,函数func如下所示:[inA]namespaceabc{extern"C"voidfunc();}[inB]extern"C"voidfunc();在构建项目时,编译器会抛出链接错误,说明函数func的多个定义。是不是命名空间内的A中的函数func或者外部“C”函数是否存在问题。如果有,那么我该如何区分它们呢? 最佳答案 当您使用Extern"C"时,您将关闭名称修饰,因此您会丢失命名空间信息,因为C没

c++ - 在 C++ 中的 "using namespace::X"中的前导::是什么意思

谁能解释一下以下命名空间用法之间的区别:使用命名空间::layer::module;和使用命名空间层::module;是什么导致layer之前额外的::? 最佳答案 如果在以下上下文中使用会有所不同:namespacelayer{namespacemodule{intx;}}namespacenest{namespacelayer{namespacemodule{intx;}}usingnamespace/*::*/layer::module;}使用初始::第一个x将在using指令之后可见,没有它第二个x在nest::layer:

c++ - 什么需要我声明 "using namespace std;"?

这个问题可能是重复的,但我找不到一个好的答案。简简单单,需要我声明什么usingnamespacestd;在C++程序中? 最佳答案 自从C++标准被接受以来,几乎所有的标准库都在std命名空间内。因此,如果您不想使用std::限定所有标准库调用,则需要添加using指令。然而,usingnamespacestd;被认为是一种不好的做法,因为您实际上是在导入整个标准命名空间,从而为名称冲突提供了很多可能性。最好只导入您在代码中实际使用的内容,例如usingstd::string; 关于c

c++ - 编译器错误 C2653 : not a class or namespace name

所以我最近在使用VisualC++2012时遇到了这个非常令人沮丧的问题。直到几个小时前,我还在编写代码,一切都按预期工作,直到我决定优化一些东西并删除了一些类.我修复了所有因此而弹出的错误,例如false包含等。不幸的是,在此之后VS编译器发疯了。它开始给我错误,例如:Error14errorC2653:'Class':isnotaclassornamespacename甚至Error5errorC2143:syntaxerror:missing';'before'}'Error4errorC2059:syntaxerror:'>'我已经检查了多次,一切都在正确的位置:包括所有标题,

node.js - 使用 Jest 模拟 namespace 和具有相同名称的函数

我正在使用的库的结构为declarenamespacefoo{functionbar();};declarenamespacefoo.bar{functionbaz();};所以我需要模拟的两个函数是foo.bar()和foo.bar.baz()。模拟我之前使用的foo.bar()require('foo');jest.mock('foo',()=>({bar:()=>mockedBar,}));有什么方法可以模拟foo.bar.baz()吗?我试过了jest.mock('foo.bar',()=>({}));但它显示一条消息Cannotfindmodule'foo.bar'from'

node.js - dyld : lazy symbol binding failed: Symbol not found: _node_module_register

我已尝试重新安装和重建npm,但问题仍然存在。最初,问题出在模块mongodb:我没有那个包,所以我使用这个命令npminstallmongodbmongodb.它显示以下错误:dyld:未找到符号:_node_module_register 最佳答案 尝试删除您的node_modules文件夹并再次运行npminstall。rm-rfnode_modules/npminstall这应该可以解决它。 关于node.js-dyld:lazysymbolbindingfailed:Symbo

node.js - 可以在生产中使用 `require(' babel/register);`

根据babel官方文档,不应该在生产中使用babel-node。有人说如果你不想在运行之前将你的ES6代码编译成ES5,你可以使用babel/register而不是babel-node。但是babel-node不是在内部使用babel/register吗?babel-node和require('babel/register');有什么区别。在生产中使用require('babel/register');可以吗? 最佳答案 BabelHandbook(链接自babeljs.io)说在生产中使用babel-register是不好的做法(

javascript - 'babel-core/register' vs 'babel-register'

我们可以使用“babel-register”即时转换源代码https://babeljs.io/docs/usage/require/但我无法验证要使用哪一个:require('babel-core/register')或require('babel-register')有人知道吗? 最佳答案 它们是一样的。babel-core/register所做的就是require('babel-register')。https://github.com/babel/babel/blob/cb8c4172ef740aa562f0873d602d