鉴于声明
class DBuffer
{
//...
};
typedef QList<DBuffer*> DBuffers;
QList<int> fds;
QMap<int, DBuffers> buffers;
下面给出的函数中的代码行是什么意思。
function()
{
// what does this line mean? what is "&bufs"
DBuffers &bufs=buffers[fds[i]];
}
答案 0 :(得分:5)
&amp;在声明中表明此变量是一个引用,即bufs不会创建输出的新副本,而只是引用分配给它的对象。此上下文中的引用类型可以被视为它们所分配的对象的别名。
表达式的RHS非常简单:通过索引i从fds列表中查找一个整数,然后使用该值从地图中获取相应的Dbuffer。
答案 1 :(得分:1)
是参考。这意味着您可以从buffer
创建某个项目的别名。别名的更改也反映在缓冲区的项目