未命名命名空间访问规则

2023-11-26

我正在查看部分7.3.1.1在 C++03 标准中,期望找到未命名命名空间中定义的项的访问规则的一些描述。

对于未命名的命名空间,规则似乎有点不同,因为您无法完全限定对其中的项目的访问权限。我知道至少在同一个翻译单元中,人们可以访问未命名名称空间中的项目,就像它们不在名称空间中一样。例如:

namespace {
  int foo;
}

void something()
{
  foo = 4;
}

如果命名空间有名称,则无法执行此操作。那么,标准中为这些适用于未命名命名空间的特殊规则定义的规则在哪里?


匿名命名空间基本上被视为:

namespace unique_per_TU
{
    // Stuff
}
using namespace unique_per_TU;

我稍后会尝试在这里找到参考。

EDIT:

看来您已经在以下位置找到了它7.3.1.1/1

未命名的命名空间定义的行为就好像它被替换为

namespace unique { /* empty body */ }
using namespace unique;
namespace unique { namespacebody }

其中所有出现的唯一的 翻译单元被相同的标识符替换,并且这个 标识符与整个程序中的所有其他标识符不同。

正如您所发现的,“假”使用已经将命名空间成员带入全局命名空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未命名命名空间访问规则 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • WPF DataGrid 多选

    我读过几篇关于这个主题的文章 但很多都是来自 VS 或框架的早期版本 我想做的是从 dataGrid 中选择多行并将这些行返回到绑定的可观察集合中 我尝试创建一个属性 类型 并将其添加到可观察集合中 它适用于单个记录 但代码永远不会触发多个
  • BASIC 中的 C 语言中的 PeekInt、PokeInt、Peek、Poke 等效项

    我想知道该命令的等效项是什么Peek and Poke 基本和其他变体 用 C 语言 类似PeekInt PokeInt 整数 涉及内存条的东西 我知道在 C 语言中有很多方法可以做到这一点 我正在尝试将基本程序移植到 C 语言 这只是使用
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲

随机推荐

  • 如何将程序集版本设置为 Jenkins 内部版本号?

    我正在 Jenkins 中使用 更改程序集版本 插件来更新 ASP NET MVC 项目的所有 AssemblyInfo cs 文件 以在构建过程中应用版本号 如果我将 Assembly Version 值设置为硬编码值 则效果非常好 但我
  • 如何替换字符串中的单词?

    我正在使用一个String like String message NAME is inviting you 我在用message replaceAll NAME me where me is a String 这行代码对我不起作用 我想知
  • ImportError:dlopen:无法使用静态 TLS 加载更多对象

    我得到一个ImportError如果在之后导入 OpenCV cv2 tensorflow出口商 ubuntu ip 172 31 2 144 Downloads opencv 2 4 13 release python Python 2
  • 在 VBA 中声明 0 长度字符串数组 - 不可能吗?

    在VBA中真的不能声明0长度的数组吗 如果我尝试这个 Dim lStringArr 1 As String 我收到一个编译错误 指出范围没有值 如果我尝试欺骗编译器并在运行时重新调整 如下所示 ReDim lStringArr 1 我收到下
  • 清除 chrome webdriver 上的日期输入失败

    我在使用 selenium 从 firefoxdriver 切换到 chromedriver 时遇到了问题 它在 FF 中工作正常 但现在当我尝试清除日期输入字段时出现此错误 Caused by org openqa selenium In
  • 如何使用c#在datagridview中动态添加列

    如何使用c 在datagridview中动态添加列 例如 DataGridViewColumn col new DataGridViewTextBoxColumn col HeaderText Hi there int colIndex g
  • Angular 2 中指令评估的控制顺序

    我想在 Angular 2 中创建一个属性指令 它的主机上需要有一个单击处理程序 需要在评估元素上的其他指令之前添加单击处理程序 因为它控制对某些功能的访问 在 Angular 1 中 您可以在创建指令时使用优先级选项来执行此操作 Angu
  • ASP.NET MVC:@section 的目的是什么? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 对于 ASP NET MVC 应用程序 我看到这篇博客文章 作者 ScottGu 补充道
  • 安卓解密错误

    我正在尝试在 Android 应用程序中加密和解密字符串 但不断收到 InvalidKeyException 错误 这是我的代码 生成密钥方法 public void generateKeys Calendar cal Calendar g
  • Android,检测其他应用程序何时启动

    我正在尝试开发一个应用程序 阻止用户在没有密码的情况下访问指定的应用程序 场景是 用户点击 电子邮件 应用程序 例如 我的应用程序检测到应用程序的启动 我的应用程序确认它是 电子邮件 应用程序 我的应用程序在顶部打开一个视图 要求输入密码
  • 获取所有打开的 WPF 窗口

    我正在尝试获取所有打开的窗口 我尝试使用System Windows Application Current Windows但我在行中得到空指针异常foreach卢普群岛有人知道出了什么问题吗 public Window getWindow
  • C++14 标准中哪里说非 constexpr 函数不能在 constexpr 函数的定义中使用?

    例如 下面的代码不会编译 除非incr 被宣布constexpr int incr int n return n constexpr int foo int n 0 incr n return n 查看 C 14 中的 7 1 5 3 我们
  • 来自现有 SQLite 数据库的 Core Data 数据架构

    是否可以从现有的 SQLite 数据库文件生成 xcdatamodel CoreData 数据模型 我开发了一个 SQLite 数据库并针对它编写了一个 Java API 现在 我需要为同一个数据库 文件 编写等效的 iOS API 我不想
  • 安装 Eclipse IDE 时出错

    我正在尝试安装 eclipse IDE Java for Developers 但在安装过程中遇到以下错误 我的系统驱动器有足够的空间 过去我已经安装和卸载了 eclipse IDE 那么这会给我重新安装带来任何问题吗 10 50 59 E
  • 管道作业 - 向上游传递参数?

    TL DR 显然 在 Jenkins 管道作业中 您可以轻松地将参数传递给下游 我想知道的是你能否通过它们upstream 使用案例 我们有三份工作 job one job two and job three 这些通常单独运行 因为只需要一
  • iPhone - 以编程方式删除状态栏

    我制作了一个应用程序来实现 iPhone 的相机 当用户完成选择图像后 状态栏会重新出现 如何确保状态栏保持隐藏状态 这是我的代码 IBAction pickImage id sender UIImagePickerController p
  • Firebase 存储安全规则

    我刚刚开始使用 Firebase 并且能够读取 写入 编辑 删除数据库 在我的应用程序中 我仅向用户显示数据 如果他 她有权访问数据 我通过创建一个用户节点和另一个节点 称为服务 并引用该用户子节点中的服务来做到这一点 我以前从未使用过 F
  • 如何在express router中使用body-parser?

    我有一个具有对象的 post api 但我无法在控制台中打印它的抛出未定义我以为我缺少主体解析器 但在添加主体解析器后我看到错误body parser deprecated bodyParser use individual json ur
  • 当 SQL 数据库添加新行而不进行轮询时,C# Azure 函数触发

    有没有一种方法可以在每次将新数据库行添加到 SQL azure 数据库时调用 Azure 函数 理想情况下没有任何基于计时器的轮询 我知道这可以在 blob 存储上完成 但没有找到在 Azure 函数上执行此操作的方法 提前致谢 Funct
  • 未命名命名空间访问规则

    我正在查看部分7 3 1 1在 C 03 标准中 期望找到未命名命名空间中定义的项的访问规则的一些描述 对于未命名的命名空间 规则似乎有点不同 因为您无法完全限定对其中的项目的访问权限 我知道至少在同一个翻译单元中 人们可以访问未命名名称空