C++20引入了模块。任何未在模块中导出的符号都具有模块内部链接。而未命名命名空间提供了一种机制,使未命名命名空间内的定义具有文件内部链接。这是否意味着,当模块成为C++社区的常见做法时,未命名的名称空间将来将变得毫无用处?
否:由于(许多(编译器一次只能看到一个翻译单元,因此优化指示一个实体不能用于任何其他实体仍然很有用。它还避免了模块单元之间发生意外碰撞的可能性(即使这些碰撞的可能性应该比使用更宽的代码库的可能性更小(。
C++20引入了模块。任何未在模块中导出的符号都具有模块内部链接。而未命名命名空间提供了一种机制,使未命名命名空间内的定义具有文件内部链接。这是否意味着,当模块成为C++社区的常见做法时,未命名的名称空间将来将变得毫无用处?
否:由于(许多(编译器一次只能看到一个翻译单元,因此优化指示一个实体不能用于任何其他实体仍然很有用。它还避免了模块单元之间发生意外碰撞的可能性(即使这些碰撞的可能性应该比使用更宽的代码库的可能性更小(。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium