经过几天的谷歌搜索,我终于放弃了,需要社区的一些帮助。
我是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运算符。但是无论哪种方式,我都无法理解它在这种情况下的用法。
编辑:感谢您的快速答复!我现在知道这正在创建参考。考虑到我认为任何一种语言的细微差别,我都无法理解它的含义。
答案 0 :(得分:1)
它声明一个常量引用。
/* data type */ /* varname */ /* data we are referencing */
const CPUData& e1 = entries[i]
因此e1直接引用了条目“ entries [i]”