【问题标题】:How can I add multiple numbers to a variable如何将多个数字添加到变量
【发布时间】:2020-12-10 07:49:43
【问题描述】:

我正在尝试使用+= 将多个数字添加到一个变量中。

我正在尝试做这样的事情: score += var1, var2, var3

但是,我现在唯一知道该怎么做的是

score += p;
score += v;
score += t;

【问题讨论】:

  • 得分不是原始类型——比如浮点数、整数、字符串等?
  • Comma has interesting behaviour. score += var1, var2, var3 的结果让我感到惊讶,直到我想到了优先级。

标签: c++ variables variable-assignment compound-assignment


【解决方案1】:

你可以这样做:

score += var1 + var2 + var3;

【讨论】:

    【解决方案2】:

    这个表达式语句

    score += var1, var2, var3;
    

    是带有逗号运算符表达式的语句。

    相当于

    ( score += var1 ), ( var2 ), ( var3 );
    

    所以变量score只会增加var1。

    你可以改写

    score += var1 + var2 + var3;
    

    但是,如果您有许多变量或值需要添加到变量 score 中,那么您可以使用初始化列表,例如

    for ( const auto &item : { var1, var2, var3, var4, var5 } )
    {
        score += item;
    }
    

    【讨论】:

      【解决方案3】:

      @cigen 的答案很完美,但让我们打破数学和编程:

      数学:

      A = A + B + C
      

      与

      相同
      A = A + (B + C)
      

      现在是编程部分:

      A = A + <something>
      

      与

      相同
      A += <something>
      

      我们可以拥有这个

      <something> = B + C
      

      当合并时

      A += B + C
      

      【讨论】:

        猜你喜欢
        • 2022-11-23
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-20
        相关资源
        最近更新 更多