c++ - QList<QString> 运算符<<

标签 c++ qt qstring qlist no-match

我在一个类中有一个名为 competence 的 QList 元素,还有另一个名为 k 的类对象。我想做一个深拷贝( this.competence 必须是 k.competence 的深拷贝)。 我用一个迭代器吧:

QList< QString>::iterator it;
for(  it = k.competence->begin(); it != k.competence->end(); ++it )
{
    this.competence << (*it) ;
}

我收到错误“不匹配运算符<<”。 问题是每当我在循环中尝试这个时:

QList< QString>::iterator it;
it = k.competence->begin();
this.competence << *it;

它不会给出错误。

编辑:已解决使用 QList.append() 方法而不是运算符<<

最佳答案

我在这里没有得到你的用例,你可以通过复制它来做一个 QList 的浅拷贝。如果您进一步修改共享实例,将创建一个深拷贝。

QList newList(oldList);

如果你想按照自己的方式去做,你需要将迭代器附加到你的新列表中

QList newList;
for(QList< QString>::iterator it = oldList->begin(); it != oldList->end(); it++ )
{
    newList.append(*it) ;
}

关于c++ - QList<QString> 运算符<<,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473016/

相关文章:

python - 如何更改 QMainWindow 边框和标题栏的颜色?

c++ - 如何将指针值转换为 QString?

Qt如何在QTableWidget的单元格内插入字符串

c++ - 拆分 QString 时如何转义分隔符?

c++ - 中断另一个线程对 zmqpp::poller::poll() 的调用

如果要替换的句子具有 "+"符号,则 C++ 替换字符串函数不起作用

c# - 在 SerialPort 上设置 DTR、RTS、CTS、DSR 和 Xonn/Xoff

c++ - 在运行时加载的共享库中使用动态分配的对象时出现段错误

c++ - 在 QTableView 中将垂直标题的文本居中?

qt - 如何在 QML 中录制音频并播放?