相当于 c++ 中这行代码的是什么?使用 QT 库?

发布于 2024-10-19 04:19:16 字数 324 浏览 4 评论 0原文

鉴于声明,

   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]];
}

Given the declarations

   class DBuffer
{
//...
};

typedef QList<DBuffer*> DBuffers;
QList<int> fds;
QMap<int, DBuffers> buffers; 

what does the line of code in the function given below mean.

function()
{
 // what does this line mean? what is "&bufs"

    DBuffers &bufs=buffers[fds[i]];
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野稚 2024-10-26 04:19:16

的&声明中的 表示该变量是一个引用,即 bufs 不会创建输出的新副本,而只是引用分配给它的对象。在这种情况下,引用类型可以被认为是它们所分配到的对象的别名。

表达式的 RHS 非常简单:通过索引 i 从 fds 列表中查找整数,然后使用该值从映射中获取相应的 Dbuffer。

The & in the declaration indicates this variable is a reference, i.e. bufs doesn't create a new copy of the output but just refers to the object that is assigned to it. Reference types in this context can be thought of as alias for the object they are assigned to.

The RHS of the expression is pretty straight forward: look up an integer off the fds list by the index i, then use this value to get the corresponding Dbuffer from the map.

东走西顾 2024-10-26 04:19:16

是参考。这意味着您从缓冲区创建某些项目的别名。别名的更改也会反映在缓冲区的项目中

It is reference. It means that you create alias of some item from buffer. Changes in alias also reflects in buffer's item

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文