我有一组大约 150 个变量,它们可以有不同的类型(双精度、布尔值、数组)。我需要将这组变量打包到 QVector 中。由于类型变量不同,我想到了使用 QVariant。到目前为止,这是我的设计。我不确定的是 myVariables 的性能 + 搜索机制。
enum class VariableEnums{
VAR1,
VAR2,
VAR3
};
struct myVariable{
VariableEnums var;
QVariant value;
};
QVector<myVariable> myVariables;
这个想法是 myVariables 将被发送到几个模块。每个模块都会找到一个特定的变量并更新一些其他变量。因此,一个模块可以更新将由另一个模块使用的变量。到目前为止,关于搜索特定变量,我只能想到以下内容:
foreach(myVariable *myVar, myVariables{
if(myVar->var == VariableEnums::VAR1){
//......
continue;
}
}
有没有更有效的方法来做到这一点?我可以使用 indexOf,但我不确定如何将它与结构一起使用。
谢谢,米。