问题标签 [qvector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2510 浏览

c++ - 在函数中使用 QVector 的子集

如何将 QVector 的一部分发送到函数?

一些打印函数应该打印“2 3 4”,将向量的子集作为参数。

在 R 中,这可以使用a[2:4].

这是可能吗?

注意:在 中std::vector,建议使用该insert函数创建一个新变量。虽然这是一个不同的插入QVector,但我找不到推荐的方法。

0 投票
1 回答
750 浏览

c++ - QFile 类嵌套的问题

当我定义如下结构时会出现问题

然后我将其放入 QVector 容器中,如下所示:

之后我调用向量成员字段的一些方法:

我收到以下编译错误:

QTextStream 也一样。

那么我错过了什么?

在此先感谢您的帮助。

更新

@Ashot 提供的解决方案是手动创建 TInputData 对象。但它引入了一些额外的内存管理困难。解决方法是使用智能指针。

0 投票
1 回答
1130 浏览

c++ - 将 QVector 作为 arg 传递给 QRunnable

我正在使用 Qt 构建一个 C++ 应用程序,以从以 3000Hz 运行的线扫描相机获取数据。在另一个问题(Using C++ to interface with a line-scan camera at 3000Hz, and process/display the data)中,我收到了很好的建议,因为我计划了我的策略来解决这个问题。我现在有一个具体的问题。我将重申我的免责声明:我是一名工程师,而不是程序员……但我正在边做边学。

我正在使用 aQThread不断地将数据采集到QVector. 我将QVector发送到主 GUI 线程,该线程创建 aQRunnable并将其传递给 aQThreadPool以处理数据块。通过这种方式,我计划获取数据块并创建任务来“实时”处理和响应这些数据块。为了简单地让所有部分运行和编译,我最初使用单个整数值作为有效负载。我可以在 中不断生成一个随机intQThread发送到 GUI 线程,创建一个QRunnable并在线程池中对int进行操作。我为此感到自豪。但是,我无法让它与QVector. 我遇到了几个编译错误,包括:

**编辑:上述错误显然是由于#include <QMetaType>main.cpp 中的缺失。结合下面所有评论/答案中的信息,可以编译代码。**

由于我真的在这里游泳,所以我现在只是盲目地摆弄代码,试图破译错误消息并尝试不同的事情。以下是构成该项目的所有单个文件。 请注意,首先是我尝试实现 QVector 有效负载的所有代码,我注释掉了适用于int类型的代码位。寻找“//适用于int类型!” 我知道这是一篇很长的帖子,但我不知道如何进一步简化 MWE 并仍然说明我的问题,因为我不知道 QVector 的问题从哪里开始......因此所有文件。我希望它强调我真的试图让它发挥作用。

主文件

应用小部件.h

应用小部件.cpp

获取.h

获取.cpp

算法.h

算法.cpp

0 投票
1 回答
4122 浏览

qt - QVector 深拷贝

我正在尝试深度复制我的变量:

这个 PetTeam 类还有另一个包含宠物的 QVector 等等。我希望将它们全部深度复制,以便可以将它们用于极小值 AI 中的状态,但到目前为止,我一直无法正确地深度复制它。

如果有人可以提供有关在这种情况下进行深度复制的正确方法的任何见解,将不胜感激!

0 投票
1 回答
5415 浏览

qt - 从 QList 填充 QVector

我有一个 QList 和 QVector。我填充 Qlist,然后尝试复制到 QVector。Ovector 有一个fromList()方法。但它不起作用。

我的代码:

此代码后vectorA返回空

我在 Linux 下使用 Qt 4.8.5

0 投票
1 回答
531 浏览

c++ - 存储在 QVector 中的结构的状态变化

我不明白这部分代码有什么问题:

我收到错误:

我已经至少重试了这两个函数的所有变体,const无论有无。

0 投票
1 回答
7433 浏览

c++ - 在 Qt 中使用向量

我似乎在 Qt 中使用基本向量时遇到了问题,我不断收到编译错误。具体信息将在下方公布:

代码片段:

错误信息:

任何与创建的向量直接相关的代码都会出现此错误,而不仅仅是 append 函数。对我做错了什么的任何见解将不胜感激。向量存在。我已经通过使用一项初始化它的所有元素并在程序的其他部分访问它来测试它。

0 投票
3 回答
37526 浏览

c++ - 如何初始化 QVector

我是 c++ 和 Qt 的新手,我正在尝试初始化一个 QVector,它是类初始化列表中的类成员,例如:

我原以为 QVector 已经分配了 100 个索引,但是当我尝试读取时,myVector[0]我收到一个断言错误,说“test.exe 中 0x0143bf77 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000004。” 程序停在 Qt 的这一行:

我相信这表明我正在尝试访问尚未分配的成员,所以我想我没有正确使用初始化列表。我可以让它成为一个指针并new QVector(100)在构造函数中创建一个,但我想知道什么是错的,我怎样才能使它正确。

0 投票
3 回答
6255 浏览

c++ - 将 QVector 指针作为参数传递

1)我想将 QVector 的指针传递给一个函数,然后用它做事。我试过这个:

但是,编译器给了我 “与 operator =" 不匹配*(vector+i) = min;行。在 QVector 上执行此类操作的最佳方法是什么?

2) 该函数应该以 matlab : 运算符的工作方式在绘图的向量上线性分布值,例如 vector(a:b:c)。在 Qt 中执行此类操作的最简单和最好的方法是什么?

编辑:

有了这里的帮助,最初的问题就解决了。:)

我也改进了方法本身。通过使用线性插值而不是像上面那样的多次加法,可以大大提高精度。多次加法会累积误差,这在很大程度上通过线性插值消除。

顺便说一句,第一个函数中的 if 语句是不必要的,即使在多重加法方法中也可以通过重新排列一些东西来删除。

我考虑过为此使用一些增强的循环,但它会更实用吗?例如,对于一个 foreach 循环,我仍然需要为插值增加一些变量,对吗?并且还为跳过第一个元素设置条件?

0 投票
1 回答
1814 浏览

c++ - QVector 内存管理

我有这个非常简单的虚拟程序

levenshteindb.h:

levenshteindb.cpp:

levenshteindbnode.h:

levenshteindbnode.cpp:

主.cpp:

崩溃并且似乎有一个巨大的(与程序本身分配的内存相比)内存泄漏,但我真的不明白出了什么问题..我使用的是 qt 5.2