草庐IT

unnamed-namespace

全部标签

c++ - 匿名 namespace 内部/外部的 Typedef?

在.cpp文件中,这两种方式有什么区别/偏好吗?//filescopeoutsideanynamespaceusingX::SomeClass;typedefSomeClass::BufferMyBuf;速度/速度namespace{//anonymoususingX::SomeClass;typedefSomeClass::BufferMyBuf;} 最佳答案 我会说第二种用法相当不常见,至少在我目前看到的代码中是这样(而且我已经看到相当多的C++代码)。您能解释一下第二种技术背后的原因吗?您通常会在C++实现文件中使用匿名命名空

c++ - 非本地 C++11 lambda 是否存在于匿名 namespace 中?

GCC4.8的最新版本在头文件中提供了以下代码:autoL=[](){};structS{decltype(L)m;};以下警告:test.hpp:3:8:warning:'S'hasafield'S::m'whosetypeusestheanonymousnamespace[enabledbydefault]structS^为什么编译器会考虑使用匿名命名空间的lambda类型?我将lambda设为全局,我没有在任何地方使用匿名命名空间。更新:即使我将lambda放在显式命名空间中,编译也会给出相同的警告,如下所示:namespaceN{autoL=[](){};}structS{de

解决Java --add-opens java.base/java.lang=ALL-UNNAMED的具体操作步骤

Java--add-opensjava.base/java.lang=ALL-UNNAMED在Java9及以后的版本中,引入了模块化系统,它允许将代码和资源划分为多个模块以提高代码的可维护性和安全性。然而,由于模块的隔离性,某些代码可能无法在模块之间进行正常的交互。这时,我们可以使用Java --add-opens选项来解决此类问题。什么是--add-opens选项?--add-opens是Java9引入的一个命令行选项,它允许我们在模块之间打开指定的包,以便其他模块可以访问这些包中的类和成员。特别地,--add-opens选项用于在指定的模块中打开指定的包,并将其对所有模块的访问权限设置为“

c++ - 我应该在实现文件中使用未命名的 namespace 吗?

我在一个外部*.cpp文件中定义了一些函数(这里不涉及类),当然还有一个合适的*.h文件。*.cpp文件中的某些函数仅在该*.cpp文件中无处使用。*.h文件中甚至没有提及它们。我应该将这些函数放入一个未命名的命名空间中,还是它们可以紧挨着其他函数存在?如果是这样,为什么我需要为它们使用一个未命名的命名空间?我看不出有什么问题,因为无论如何都无法从外部访问这些功能。 最佳答案 如果您希望它们对那个编译单元真正私有(private),请将它们放在一个匿名命名空间中。如果您不这样做,那么其他人可以在别处声明这些函数并显式使用它们。举个例

c++ - 为什么 ADL 优先于 'std namespace' 中的函数,但等于用户定义的命名空间中的函数?

我有两个ADL片段用于演示目的。这两个片段都已由VC10、gcc和comeauC++编译器编译,结果对于所有三个都是相同的。针对用户定义命名空间的using指令的ADL:#includenamespaceN{structT{};voidswap(T,T){}}namespaceM{voidswap(N::T,N::T){}}intmain(){usingM::swap;N::To1,o2;swap(o1,o2);}编译结果:errorC2668:'M::swap':ambiguouscalltooverloadedfunctioncouldbe'voidM::swap(N::T,N::

Jdk17 启动报错, java17 module java.base does not “opens java.math“ to unnamed module @1649b0e6

1.使用java17版本会报错:2.原因:            java17的模块化,模块系统将Java分成了若干个可以独立部署和运行的模块,使得Java应用可以更快地启动并更好地利用硬件资源。但在java模块化之后,有些内部类不能被访问了,在运行时报错 3.解决方案:4.编辑vmoptions:5.加入以下内容(重点):--add-opensjava.base/java.lang=ALL-UNNAMED--add-opensjava.base/java.lang.reflect=ALL-UNNAMED--add-opensjava.base/java.lang.invoke=ALL-UNN

【已解决】namespace “Ui“没有成员 xxx

先说笔者遇到的问题,我创建一个QWidgetui文件,然后编辑的七七八八后,想要用.h与.cpp调用其,编译通过,结果报了这个错误,本方法不是普适性,但是确实解决了这个鸟问题。问题来源搭建ui后,出现了namespace“UI”没有成员xxx问题解决方案先搜索工程文件是否有ui_xxxx文件,很重要看自己的UI里的QWidget是否叫xxx,这个要与下面同名总结就是这样,图片上一定要与调用同名,不然不通过。

【C++干货基地】namespace超越C语言的独特魅力(文末送书)

🎬鸽芷咕:个人主页 🔥个人专栏:《C++干货基地》《粉丝福利》⛺️生活的理想,就是为了理想的生活!引入  哈喽各位铁汁们好啊,我是博主鸽芷咕《C++干货基地》是由我的襄阳家乡零食基地有感而发,不知道各位的城市有没有这种实惠又全面的零食基地呢?C++本身作为一门篇底层的一种语言,世面的免费课程大多都没有教明白。所以本篇专栏的内容全是干货让大家从底层了解C++,把更多的知识由抽象到简单通俗易懂。⛳️推荐前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。文章目录引入⛳️推荐一、C++的发展历史1.1C/C++的市场份额1.2编程语言的历史走向1.Top

ios - xcode 7.3.1,出现错误 memcpy no member in namespace

尝试为iOS编译一些C/C++代码时。得到Nomembernamed'memcpy'innamespace'std::__1';didyoumean'wmemcpy'?尝试了编译器设置但没有成功。这个在工具链的内存文件里。 最佳答案 我需要添加#include希望对你有帮助 关于ios-xcode7.3.1,出现错误memcpynomemberinnamespace,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

ios - RNAppAuth,iOS 构建失败,未知类型名称 'namespace',react-native-app-auth

我正在尝试将react-native-app-auth添加到Expo的现有但相当新鲜的项目中。我正在按照您的设置指南进行操作,因此请执行以下步骤:yarnaddreact-native-app-auth@2.2.0--dev添加pod'AppAuth','>=0.91'cdiso&&podinstallreact-native链接(编辑:从项目的根路径)然后我得到:rnpm-installinfoLinkingreact-native-app-authiosdependencyrnpm-installWARNERRGROUPGroup'Libraries'doesnotexistiny