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;
- 这不是逗号运算符,这是lru
和val
变量定义。并且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++ 定义/赋值语法的主要内容,如果未能解决你的问题,请参考以下文章