追问:C++14/C++17中的变量到底是什么?

2024-01-06

正如标题所示,这个问题以前已经被问过。 https://stackoverflow.com/q/2920773/4917725然而,答案与 C++03/0x(11) 有关。 C++11 (N3337) 关于变量是这样说的:

[基础]/6 https://timsong-cpp.github.io/cppwp/n3337/basic#6:

A variable通过声明非静态数据成员或对象的引用来引入。变量的名称表示引用或对象。

这可能意味着变量本质上是命名对象/引用。

然而,在C++14 https://timsong-cpp.github.io/cppwp/n4140/basic#6/C++17 https://timsong-cpp.github.io/cppwp/n4659/basic#6,最后一句改为

变量的名称,if any, 表示引用或对象。

这意味着变量确实not必然有一个名字。

对第一句话的不同解释可能表明变量is一个名字,因为name表示对象/引用也是通过此类实体的声明引入的。但第二句话与“变量名称”这个概念相矛盾。那么,就是variable现在只是一个上位词object and 参考,无论是否命名?


这一变化的结果是CWG 1769 http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1769,寻址绑定到未命名 catch 处理程序参数的异常对象的状态:

catch (std::exception&) // <==
{ 
}

现在这是一个变量。这简化了异常对象的概念模型。

第一句保持不变,仍然是该术语的完整定义variable.

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

追问:C++14/C++17中的变量到底是什么? 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 使用 C# 在 WinRT 中获取可用磁盘空间

    DllImport kernel32 dll SetLastError true static extern bool GetDiskFreeSpaceEx string lpDirectoryName out ulong lpFreeBy
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • 从 PHP 开发人员的角度来看,MySQL 与 C#

    我知道使用 PHP 我可以使用 mysql query sql 和 mysql fetch array 结果 获取一些 MySQL 数据并将其放入数组中 在 C 中如何实现这一点 以便我可以将数据放置在数据网格中 这可能是您将看到的填充 D
  • Android中如何存储大量音频文件?

    我正在开发一个需要我播放大量音频文件的应用程序 每个文件的大小约为 100KB 目前我有 220 个文件 将来可能会增加 如果我将这些文件放在 res raw 文件夹中 那么我最终会得到一个非常大的 APK 文件 在 Android 中存储
  • 我应该为移动网站使用什么文档类型?

    我正在从头开始创建网站的移动版本 但我不确定应该使用什么文档类型 好像没有一个明确的标准 是吗 在许多移动网站上我看到 在其他人身上我发现 有人能为我指出正确的移动网页设计方向吗 我想支持大多数现代手持设备 例如 iPhone
  • 以 15 分钟为间隔排列来自销售人员的呼叫数据

    我是 python 和 pandas 以及 stackoverflow 的新手 所以我对我提前犯的任何错误表示歉意 我有这个数据框 df pd DataFrame data Donald Trump German 2021 9 23 14
  • 执行 ApplicationCommands.Close 时实际发生的情况

    我想标题中的问题已经很清楚了 当我打电话时会发生什么 ApplicationCommands Close Execute null null 来自我的 viewmodel 类 我有一个显示用户控件的模型对话框 我有一个命令绑定到用户控件中的
  • Keras 中的 LSTM 序列预测仅输出输入中的最后一步

    我目前正在使用 Keras 使用 Tensorflow 作为后端 我有一个 LSTM 序列预测模型 如下所示 我用它来预测数据系列中的一步 输入 30 个步骤 每个步骤有 4 个特征 输出预测步骤 31 model Sequential m
  • SQL Server:检索存储过程中的自动递增ID?

    我的数据库有一个带有自动递增主键标识 ID 的父表和一个普通的 TIMESTAMP 列 我有带有外键的子表 该外键引用父 ID 列 我想编写一个存储过程 将新列插入到父数据库和子数据库中 如何将子 ID 列设置为等于新的自动递增父 ID 列
  • 单击导航抽屉的项目不会打开片段

    我想使用 Android Studio v 3 5 的默认导航抽屉活动 创建此默认活动 新项目 gt 导航抽屉活动 后 我启动了此模板 如果我单击导航菜单的图标之一 例如 图库 NavHost 的当前片段不会更改 据我了解以下部分 http
  • 如何在运行时在react-native-mapbox-gl中显示/隐藏栅格图层(可见性属性可见/无)

    我在地图初始化中设置了自定义样式 url 喜欢
  • 在什么情况下你会选择使用 Map 而不是普通数组? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当最好使用 Map 而不是普通数组时 我很难找到真实的情况 只是每次使用似乎都比较困难 你实验过合适的案例吗 谢谢 As MDN 简要介绍了 h
  • 在 IE6 中链接 CSS 类 - 试图找到 jQuery 解决方案?

    tl dr 有人知道如何使用 jQuery 或类似的方法为 IE6 应用链式类吗 Right 也许我问的是不可能的事 我认为自己对 Javscript 和 jQuery 相当陌生 但话虽这么说 我最近编写了一些相当复杂的代码 所以我肯定会到
  • PWA 有没有办法访问主机设备的电话号码?

    我计划为 Android 设备开发一款渐进式 Web 应用程序 一个主要问题是 PWA 是否可以访问主机电话号码 我们的业务是向业务合作伙伴提供廉价手机 如果我们的 PWA 可以访问设备的电话号码 我们就可以更轻松地进行两因素身份验证 我认
  • 如何为外部命令提供输入?

    据我了解 Scala 可以运行系统命令并接收其输出 我正在为我拥有的系统命令编写一个网络客户端 因此我需要执行该命令 接收输出 根据输出我可以给它一个命令 我想继续这样做 直到用户终止该命令 我已经阅读了一些有关 ProcessIO 的内容
  • 在 SQL 中,使用 DISTINCT 如何影响性能?

    我试图选择一个不同的列表 其中在多个字段上创建重复项 例如 SELECT tablename field1Date tablename field2Number tablename field3Text FROM tablename 将分别
  • 实现滚动锚定时元素“轻微抽搐”

    编辑 令人尴尬的是 我最初在 Chrome 上看到了这个问题 但问题是因为我稍微缩小了浏览器 导致子像素元素大小调整 如果元素是完整像素高度 则效果很好 然而 我相信这仍然是一个问题 因为 Firefox 渲染子像素元素的方式似乎与 Chr
  • os.Logger (os_log) 忽略新的隐私字符串插值

    在 iOS 14 模拟器上使用以下代码 所有日志语句都以明文形式打印 没有发生任何编辑或散列 在 Xcode 控制台和 Mac 上的 Console app 中都可以 还需要什么来测试编辑是否有效吗 let email email prot
  • Hibernate 在外键字段中插入空值

    我有 2 个简单的域对象 如下所示 使用 MYSQL DB Entity Table name Product public class Product Id Column name productId GeneratedValue pro
  • 使用 nginx 1.0 动态 proxy_pass 到 $var

    我正在尝试根据环境变量将请求代理到不同的目标 我的方法是将目标 url 放入自定义变量 target 中 并将其传递给 proxy pass 但使用 proxy pass 变量似乎不起作用 这个简单的配置会导致 nginx 发出 502 B
  • 节点 fs.readdir 在文件过多的文件夹中冻结

    在 Node js 中我必须读取文件夹中的文件 并为每个文件获取文件处理程序信息 这是我使用的最简单的实现fs readdir FileServer prototype listLocal function params var self
  • 追问:C++14/C++17中的变量到底是什么?

    正如标题所示 这个问题以前已经被问过 https stackoverflow com q 2920773 4917725然而 答案与 C 03 0x 11 有关 C 11 N3337 关于变量是这样说的 基础 6 https timsong