QVector, QList等为什么索引是int而不是size_t
QVector, QList etc.. why index is int and not size_t
我使用一些Qt容器,如QList
和QVector
,我注意到访问数据的索引被定义为int
而不是size_t
。我一直在STL, Boost和其他容器中看到size_t
,所以我想知道为什么Qt不使用它。这些容器的负数有什么意义吗?
这是一个随意的选择。当用于访问元素时,负数不是有效的索引。有时,当用于除直接访问元素以外的方法时,它们可能具有特殊含义。
通常情况下,你只能访问20亿项而不是40亿项并不重要。如果你的项目数量接近这个数字,你应该为你的容器使用其他东西。
相关文章:
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- 行 - " vector<int> used(adj.size(), 0); "是什么意思?
- 与 string.size() 比较时 int 的符号性显示警告
- 错误:'class std::unique_ptr<std::set<long unsigned int> >'没有名为 'size' 的成员
- 为什么选择 g++ 给予者:"error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]"
- 声明数组时出现 SIGSEGV 错误,而不创建新的 int[size]
- 如何在没有参数的情况下实现返回双向链表大小的函数?int size() const.
- 错误:"SIZE"在使用模板<类 T、int MAX_SIZE >时无法出现在常量表达式中
- 调用 size() 的常量映射<字符串,矢量<int>>导致错误
- 如何声明将使用 map.size() 计算的 int 类型
- 为什么 std::array::size constexpr 具有简单类型(int、double、..),而不是 std
- C/C++:在32位机器上的sizeof(short)、sizeof(int)、sizeof(long)、size of
- 对于下面的代码,我将 decltype(s1.size()) 更改为 int,代码工作正常.在这种情况下,decltyp
- 断言失败 <0 <= i && i < <int>vv.size<>> 在未知函数中,文件 src\matrix.cpp,第 912 行
- 为什么QVector::size返回int ?< / h1 >
- new int[size] vs std::vector
- 无法将'int (*)[size]'转换为'int**'
- 可以将vector.size()的结果存储到int类型的变量中吗
- 错误 C2664: 'cv::Mat::Mat(int,int,int)' : 无法将参数 1 从 'cv::Size' 转换为 'int'
- for(int i=0;i<myVector.size();++i) size() 被调用了多少次?