Skip to content

关于const引用的问题 #83

@PoacherBro

Description

@PoacherBro

《C++ Primer》中文版第五版第 2.4.1 章里 const的引用,有几点疑惑:

  1. 下面代码会报错
int i = 42;
const int &r1 = i;
int &r4 = r1 * 2; // 错误,即使把 r1 替换成 i,也会报错

虽然后面解释了C++会创建一个常量类型的临时量,但是这里有一个计算r1 * 2,所以这里意思是如果表达式里有常量,会把字面量(这里是2)也设置为常量吗?

  1. 如上所描述,那么常量在赋值的时候也会和普通变量一样做一次拷贝吗?譬如
const int i = 32;
const int j = i; // 是否也有拷贝?拷贝的是地址还是32这个值对象?
  1. 看很多博客说常量引用不占用空间,那么引用是如何存储这个名字的?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions