关于在此上下文中使用与号(&)的说明

Clarification on the use of ampersand(&) in this context

本文关键字:说明 上下文      更新时间:2023-10-16

几天后,我终于放弃了,需要社区的帮助。

我是C 的新手,决定首先解剖此代码:

一个C 程序以从Linux中的命令行获取CPU使用

在大多数情况下,我可以推测其中的一小部分,除了如何在最后一行中使用ampersand:

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]

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

编辑:感谢您的快速回复!我现在知道这是在创建参考。鉴于我认为它具有重要含义的任何语言的细微差别,使我无法掌握的是间距。

它正在声明常数参考。

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

因此,e1直接指的是"条目" [i]'