C++ 定义、声明和赋值到底是什么?

2023-12-29

我倾向于交替使用“定义”、“声明”和“分配”这三个词,但这似乎会冒犯某些人。这合理吗?我应该只在第一次分配给变量时使用“声明”一词吗?或者还有比这更多的事情吗?


定义是描述值或函数的地方,即编译器或程序员被准确地告知它是什么,例如

int foo()
{
  return 1;
}

int var; // or, e.g. int var = 5; but this is clearer.

声明告诉编译器或程序员该函数或变量存在。例如

int foo();
extern int var;

赋值是指为变量设置值,通常使用 = 运算符。例如

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

C++ 定义、声明和赋值到底是什么? 的相关文章

随机推荐

  • 在rails中,如何确定记录是否被依赖的: :destroy 回调销毁?

    我的 Rails 应用程序中有一条记录after destroy需要知道记录被破坏的原因的钩子 更具体地说 如果该记录由于其父记录而被级联销毁dependent destroy 它需要采取与单独销毁记录不同的方式 我想做的是看看它的父母是否
  • SQL选择连接帮助

    我在找出针对此场景的查询时遇到问题 我想在这个查询中使用两个表 它们是这样的 Units ID Other Data People ID UnitID lt fk to Units Other Data 这就是我想做的 我想选择人员表中没有
  • 构建 Qt 应用程序时出现“/usr/bin/ld: 找不到 -lGL”

    我昨天安装了 Linux Debian 然后安装了最新的 Qt 版本 今天我安装了gcc和g 但问题是 当我创建 GUI 应用程序时它不会构建和运行 每当我创建一个新项目时 选择 gui 甚至不更改任何未编译的内容 我会收到以下消息 usr
  • 将静态库链接到共享对象时,__attribute__((used)) 无效(android gcc 4.8)

    我正在将一些东西移植到 Android 并且我有几个应该链接到 so 文件中的静态库 使用 Android NDK 我尝试使用 Wl whole archive到链接器 并由适当的终止 Wl no whole archive 但出现错误 例
  • 如何通过维护其他配置在现有 Eclipse 中设置 Struts 2?

    我是一个新手程序员 正在使用阿帕奇Struts 2 http struts apache org MVC 框架 我想在现有的 Eclipse IDE 中设置 Struts 2 并且不想损害我在 Eclipse 中所做的其他不同工作 以下是我
  • java中连续重复字符的替换

    我正在研究 Twitter 数据标准化 Twitter 用户经常使用 ts I looooooove it 之类的术语来强调 爱 这个词 我想通过替换重复字符来将这些重复的字符转换为正确的英语单词 直到我得到一个正确的有意义的单词 我知道我
  • Python脚本判断一个目录是否是git仓库

    我刚刚开始使用 Python 我的第一个任务是编写一个脚本来确定它运行的目录是否是 git 存储库 一位同学建议了这段代码 usr bin env python from subprocess import Popen PIPE STDOU
  • 多处理 vs 线程 Python [重复]

    这个问题在这里已经有答案了 我正在尝试了解的优点多重处理 http docs python org library multiprocessing over 线程 http docs python org library threading
  • ARM 与 x86 的主要区别是什么?

    我不太有兴趣了解在每个平台上开发代码时在程序员习惯做什么或他发现更容易做什么等方面的 小字 差异 我也对详细的物理差异不感兴趣核心 如果适合你的叙述 我不介意提及它们 我只是不想关注上面的内容 我只是想知道为什么x86等CISC架构优于RI
  • 有选择地替换字符串内的子字符串

    我有一个像这样的字符串 a java jobs in delhi delhi 我想用 代替德里 但只有位于双引号之外的 delhi 因此 输出应该如下所示 java jobs in delhi 该字符串是示例字符串 子字符串不一定是 del
  • LWJGL 光线拾取 (gluUnProject)

    因此 我一直在浏览教程 以及本网站上的问题 但没有找到任何可以解决我的问题的方法 这是我正在尝试实现的当前代码 private void pick float matModelView new float 16 matProjView ne
  • C 函数的返回值到 ASM

    我正在尝试从 ASM 中调用一个函数 我知道如何调用它 但我无法找到如何获取该函数的返回值 示例如下 C code int dummy return 5 N ASM代码 dummyFunction call dummy grab retur
  • 如何使我的应用程序链接库与其位置无关?

    我建立了一个共享库 即libabc so 和一个可执行文件 即myapp 它使用我的共享库 我已将共享库和可执行文件都放置在文件系统中 但是当我运行可执行文件时 出现以下错误 error while loading shared libra
  • 为什么

    我希望以下代码将我的跨度放置到按钮的左上角 但事实并非如此 这是为什么
  • 在 iOS 中模拟系统范围的触摸事件,无需越狱设备

    我想在ios非越狱设备中模拟系统范围内的触摸事件 当然 这个应用程序不适用于应用程序商店 经过长时间的凝视后 我做了这样的事情 void SimulateTouchEvent float x arc4random RAND MAX RAND
  • 如何启动通过点击推送通知打开的 PWA(渐进式 Web 应用程序)?

    按照这个例子 https developers google com web fundamentals getting started push notifications step 10 hl en 我看到 PWA 如何打开网址 但如何使
  • Android:onUpgrade 在数据库升级时不调用

    我正在开发我的应用程序的第二个版本 我面临着一个问题 在我的应用程序中 数据库位于资产文件夹中 现在我想从第二个版本的资产文件夹中更新我的数据库 我尝试将代码升级为 Data Base Version private static fina
  • Android 下可以使用多个蓝牙适配器吗?

    Android 下是否可以使用多个蓝牙适配器 例如 为了能够通过这些适配器连接到 7 个以上的设备 Android API 甚至没有提到访问多个适配器的可能性 https developer android com reference an
  • 使 svg 缩放至全屏尺寸

    我正在尝试将 svg 缩放到浏览器窗口的完整大小 svg 对象位于 div 内 高度和宽度均设置为 100 我尝试使用 svg 内的 viewBox 但无济于事 我使用的屏幕分辨率为 1080p div style width 100 he
  • C++ 定义、声明和赋值到底是什么?

    我倾向于交替使用 定义 声明 和 分配 这三个词 但这似乎会冒犯某些人 这合理吗 我应该只在第一次分配给变量时使用 声明 一词吗 或者还有比这更多的事情吗 定义是描述值或函数的地方 即编译器或程序员被准确地告知它是什么 例如 int foo