根据 C++ 标准,int 变量是对象吗?

2024-04-20

下面您将找到 C++ 标准中对象的定义。

[介绍对象]/1 http://eel.is/c++draft/intro.object#1:

C++ 程序中的构造创建、销毁、引用、访问和 操纵物体。一个object由定义(6.1)创建,由新表达(8.3.4)、隐式更改联合的活动成员时 (12.3) 或创建临时对象时 (7.4、15.2)。 一个对象在其构造期间占用一个存储区域 (15.7),在其整个生命周期(6.8),以及在其周期内 破坏(15.7)。 [ 注意:函数不是对象,无论 它是否以对象的方式占用存储空间。 -结尾 注意] 一个对象的属性是在该对象存在时确定的 创建的。一个对象可以有一个名称(第 6 条)。一个对象有一个存储空间 持续时间(6.7)影响其寿命(6.8)。一个对象有一个 类型(6.9)。有些对象是多态的(13.3);实施 生成与每个此类对象相关的信息 可以在程序执行期间确定该对象的类型。为了 其他对象,其中找到的值的解释是 由类型决定表达式(第 8 条)用于访问 他们。

我有一种感觉,是的,int尽管上面的段落中有这样的声明,但变量可以被视为 C++ 中的对象:

一个对象在其构造期间占用一个存储区域 (15.7),在其整个生命周期(6.8),以及在其周期内 破坏(15.7)。

标准中还有其他几个声明似乎假设该术语object仅限于类对象。因此,为了精确起见,我发布了这个问题。


Yes, an int is an object.

您发布的引文中的所有句子均有效且真实int变量。

此外,这里有一些示例展示了如何int您发布的引用有意义:


对象是通过定义创建的

From [基本.def] http://eel.is/c++draft/basic.def:

int a;                          // defines a

建议int是一个对象。


一个对象有一个类型

From [基本类型] http://eel.is/c++draft/basic.types:

有两种类型:基本类型和复合类型。

int is a 基本型 http://eel.is/c++draft/basic.fundamental。这再次表明int是一个对象。

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

根据 C++ 标准,int 变量是对象吗? 的相关文章

随机推荐

  • 对 Promise 中的错误和拒绝感到困惑

    All 我对 JS Promise 还很陌生 当谈到 Promise 链接时 有一个令人困惑的地方 假设我有一个如下的 Promise 链接 var p new Promise function res rej then function
  • 绑定不适用于动态加载的 xaml

    我在用着XamlReader成功加载 xaml 文件并创建FrameworkElement跟 共事 我正在加载的 xaml 中包含绑定表达式 例如
  • 在Windows cmd中以颜色显示用户输入的文本

    我还有一个关于 Windows cmd 的小控制台程序的问题 我使用 colorama 为终端中的文本着色 使其看起来像这样 然后我发现如何为文本着色input 使用一点 hack 的方法 打印没有换行符 如下所示 from coloram
  • CouchDB Java 客户端

    这个维基页面 http wiki apache org couchdb Getting started with Java http wiki apache org couchdb Getting started with Java 列出了
  • AppEnginePlugin:不支持的主要.次要版本 51.0 - appengine 1.9.17

    更新到 Android Studio 1 0 RC 后 我收到此错误 AppEnginePlugin Unsupported major minor version 51 0 既然appengine是用java 1 7编译的 为什么它说不支
  • Chrome 开发工具设置:允许自定义 UI 主题的“实验”选项卡在哪里?

    我使用的是 chrome 36 版本 根据this https chrome google com webstore detail devtools theme zero dark bomhdjeadceaggdgfoefmpeafkjhe
  • 是否有 x64 版本的 MsStkPrp.dll

    我正在将 ATL 控件移植到 64 位 该控件在其属性对话框中使用 Stock 属性页 CLSID StockFontPage CLSID StockColorPage 针对 x64 重新编译后 颜色 和 字体 选项卡丢失 因为 MsStk
  • Java Swing:“优先考虑组合而不是继承”这句话适用吗?

    优先考虑组合而不是继承 这句话适用于 Swing 组件吗 在继续设计 UI 之前 我想收集一些有关该主题的专业意见以及哪些代码更容易维护 优先考虑组合而不是继承 这句话适用于 Swing 组件吗 Yes 我扩展 Swing 组件的唯一一次是
  • R:tuneRF 函数的行为不明确(randomForest 包)

    我对这句话的含义感到不舒服stepFactor的参数tuneRF http www inside r org packages cran randomForest docs tuneRF函数用于调整mtry进一步使用的参数randomFor
  • Android - 解压缩文件夹?

    我的 SD 卡上有一个 zip 文件夹 如何解压缩该文件夹 在我的应用程序代码中 我正在使用 Beginner 方法的修改版本 该方法扩展了 AsyncTask 并可以更新主线程上的观察者 逐字节压缩非常慢 应该避免 相反 更有效的方法是将
  • 将静态宽度垂直子菜单置于动态水平菜单下方

    我已经在这个问题上呆了好几个小时了 我可以找到我想要的各个组成部分 但我似乎无法将它们组合在一起 我遇到的问题是我无法让静态宽度子菜单以它们派生的 li 项目为中心 如果这些父 li 项目具有静态宽度 这应该很容易 但我想根据页面的宽度动态
  • compileSdkVersion 'Google Inc.:Google APIs:23' 和compileSdkVersion 23 之间有什么区别

    在 Gradle build 文件中 我看到一些项目使用 compileSdkVersion Google Inc Google APIs 23 有些只是使用号码 compileSdkVersion 23 两者有什么区别 后一种对于绝大多数
  • Java有using语句吗?

    Java有没有可以在hibernate中打开会话时使用的using语句 在 C 中 它类似于 using var session new Session 因此该对象超出范围并自动关闭 Java 7 推出自动资源块管理 http www in
  • 如何在 fs2 中“拆分”流?

    我想做这样的事情 def splitStream F A stream fs2 Stream F A split A gt B Stream F A Stream F B stream stream map split 但这不起作用 因为它
  • Git 分支从哪里开始以及它的长度是多少?

    我时不时地被问到 git 上的某个分支在什么提交上启动 或者是否在特定分支上创建了某个提交 分支的终点非常清楚 那就是分支标签所在的位置 但是 从哪里开始呢 简单的答案是 在我们的提交中created那个分支 但据我现在所知 这些信息在第一
  • np.linspace 和 np.arange 有什么区别?

    我一直用np arange 我最近遇到np linspace 我想知道它们之间到底有什么区别 查看他们的文档 np arange https numpy org doc 1 18 reference generated numpy aran
  • 如何从 2 个列表中确定最佳组合

    我正在寻找一种方法来使团体中的人员达到最佳组合 让我概述一下情况 假设我们有 A B C 和 D 此外 我们还有组 1 2 3 4 和 5 两者都是示例 可以更少或更多 每个人都给彼此打分 例如 A 对 B 的评分为 3 C 对 C 的评分
  • Objective-C 中的类对象和实例变量

    我很难理解这个概念 我直接引用书中的一句话 类对象还继承自层次结构中位于其上方的类 但因为它们没有实例变量 只有实例有 所以它们只继承方法 如果我错了 请纠正我 但类对象将是这样的 NSString aString NSString all
  • AWS Elasticsearch 和 CORS

    我正在试用 AWS Elasticsearch 服务 https aws amazon com elasticsearch service https aws amazon com elasticsearch service 设置非常简单
  • 根据 C++ 标准,int 变量是对象吗?

    下面您将找到 C 标准中对象的定义 介绍对象 1 http eel is c draft intro object 1 C 程序中的构造创建 销毁 引用 访问和 操纵物体 一个object由定义 6 1 创建 由新表达 8 3 4 隐式更改