C++ 定义/赋值语法

Posted

技术标签:

【中文标题】C++ 定义/赋值语法【英文标题】:C++ defninition/assignment syntax 【发布时间】:2019-11-28 21:39:01 【问题描述】:

谁能告诉我这个赋值语句中发生了什么? 它是在教科书的一些代码中找到的。不知何故,这是 val 被初始化的地方,没有它就无法编译。 INT_MAX 来自 代码的主体应该不太重要,但我从未见过赋值运算符右侧的两个值

int lru = INT_MAX, val;

编辑:人们需要放松。在得到回答后,这正在被否决。 (我失去了投票的能力,这并不酷)我有一个诚实的问题,我的助教和教授都无法回答。那是因为通常人们会写

int val

int lru = INT_MAX

在不同的行上。或者他们将它们都定义为整数 int val, lru 然后赋值lru = INT_MAX

至少将所有赋值/构造放在定义 int val, lru = INT_MAX 之后 这是一个诚实的问题。我进行了研究,查看了以前的问题和答案,但找不到我想要的东西。

【问题讨论】:

int lru = INT_MAX, val; - 这不是逗号运算符,这是lruval 变量定义。并且lru 有一个初始化。 @SlavasupportsMonica 这是错误的副本 @ThomasSablik 同意,关于赋值运算符的 OP 声明让我感到困惑。 很抱歉造成混乱,但如果它是我以前从未见过的东西,那么我可以用某些术语来表达它。除了'='还是一个赋值运算符不是吗? @KamilCuk 说该语句将 INT_MAX 的值分配给 lru 和 val,对吗? How can I declare and define multiple variables in one line using C++?的可能重复 【参考方案1】:

这不是一个任务。这只是 2 个声明。 首先是lru 的声明,它是用值INT_MAX 构造的。第二个是val,它仍未初始化。

【讨论】:

以上是关于C++ 定义/赋值语法的主要内容,如果未能解决你的问题,请参考以下文章

C++基础语法继承——万字总结,干货满满

C++基础语法继承——万字总结,干货满满

C++基础语法继承——万字总结,干货满满

C++ 语法--唯一的难点const和复合类型

Python|python和C++语法中的不同

第四次寒假作业