zoukankan      html  css  js  c++  java
  • c++中左值的含义

    <<cpp primer plus 6th edition>>中的原文(Chapter 8 Adventures in Functions):

    What is an lvalue? An argument that’s an lvalue is a data object that can be referenced
    by address. For example, a variable, an array element, a structure member, a reference, and
    a dereferenced pointer are lvalues. Non-lvalues include literal constants (aside from quoted
    strings, which are represented by their addresses) and expressions with multiple terms.The
    term lvalue in C originally meant entities that could appear on the left side of an assignment
    statement, but that was before the const keyword was introduced. Now both a regular
    variable and a const variable would be considered lvalues because both can be
    accessed by address. But the regular variable can be further characterized as being a
    modifiable lvalue and the const variable as a non-modifiable lvalue.

    在第五版对应章节中中作者解释的比较简单,第六版进行了更详细的解释。第五版原文如下:

    An argument that’s an lvalue is a data object that can be referenced. For example, a variable,
    an array element, a structure member, a reference, and a dereferenced pointer are lvalues.
    Non-lvalues include literal constants and expressions with multiple terms.

    第五版已有中文版,第六版中文版貌似亚马逊上本月(2013.07月)已上架。

    另外c++11还增加了右值(rvalue)的概念,声明方式为:int && num=10;使用&&来表示。

  • 相关阅读:
    phpExcel中文帮助手册之常用功能指南
    linux下使用远程图形界面
    分支限界法 0-1背包问题-优先队列式
    分支限界法 0-1背包问题-队列式
    回溯法 0-1背包问题
    贪心算法 哈夫曼树编码
    贪心算法 二.活动安排问题
    贪心算法 一.部分背包问题
    动态规划 四.0-1背包问题
    动态规划 三.最大子段和
  • 原文地址:https://www.cnblogs.com/argb/p/3221224.html
Copyright © 2011-2022 走看看