【问题标题】:C++ defninition/assignment syntaxC++ 定义/赋值语法
【发布时间】: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,对吗?

标签: c++


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-07-08
    • 1970-01-01
    • 2011-11-19
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    相关资源
    最近更新 更多