c++ - 为什么 QT 的 QList 方法与 std::list 兼容

标签 c++ qt compatibility std

为什么要有 void QList::push_back ( const T & value )

这样的方法

在 QT 中,当它做与 append() 相同的事情时,文档意味着什么样的兼容性。谁能详细说明一下

以下为官方声明documentation的QT

这个函数是为了兼容STL而提供的,等同于append(value)

最佳答案

这通常用于使期望标准容器作为其模板参数的方法模板可以与 QList 一起使用同样,因为它们将共享相同的方法。

例如:

template<typename Container>
void move_elements(Container &to, const std::vector<int> &from)
{
  for (auto elem : from)
    to.push_back(elem);
}

可以同时调用 std::list<int>和一个 QList<int>作为to参数。

关于c++ - 为什么 QT 的 QList 方法与 std::list 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17989970/

相关文章:

javascript - 为 Internet Explorer 优化

c++ - 我的代码如何在编译时做一件事,而在运行时做另一件事?

c++ - 在 QList 中添加一个 QVector

python - 文本编辑始终大写

c++ - 如何正确链接 OpenGL 着色器的开放式 GL 法线

VB6 - 如何自动打破命令行(或msbuild)的兼容性

c++ - 使用 OO 概念的内存缓存设计

C++11 constexpr 过时的模板元编程?

c++ - 删除被注释掉的代码而不是实际注释

Android 内部测试与我的设备不兼容