在这种情况下澄清与符号(&)的使用

时间:2019-05-22 00:15:35

标签: c++

经过几天的谷歌搜索,我终于放弃了,需要社区的一些帮助。

我是C ++的新手,所以决定先剖析以下代码:

A C++ program to get CPU usage from command line in Linux

在大多数情况下,我可以推测其中的大部分内容,但最后一行中的“&”符号是如何使用的:

const int NUM_CPU_STATES = 10;

typedef struct CPUData {
    std::string cpu;
    size_t times [NUM_CPU_STATES];
} CPUData;

std::vector<CPUData> entries1;

const CPUData & e1 = entries[$i]

我可以收集的最接近的是它的Bitmask或Bitwise运算符。但是无论哪种方式,我都无法理解它在这种情况下的用法。

编辑:感谢您的快速答复!我现在知道这正在创建参考。考虑到我认为任何一种语言的细微差别,我都无法理解它的含义。

1 个答案:

答案 0 :(得分:1)

它声明一个常量引用。

/* data type */  /* varname */    /* data we are referencing */
const CPUData&        e1      =   entries[i]

因此e1直接引用了条目“ entries [i]”