调整小于连续数组的 C++ 矢量大小
resizing c++ vector size for less-than-contiguous arrays?
假设我们有各种 int 值映射到指向数据的指针。 我们知道它们不会太稀疏以至于我们想要一个map<>
,我们喜欢快速查找vector<>
。
我是一个经验丰富的 C 人(C++尽管不是 STL),但代码应该像以下那样冗长似乎不对:
if (i>= vec.size())
vec.resize(i+1);
if (!vec[i])
vec[i] = pmydata;
此外,在各种C++版本中,最不冗长的方式是否发生了变化?
stl 不提供此类容器的快捷方式。你模仿它的方式是正确的。
正如 Marc Glisse 所提到的,您可以通过 std::vector 编写一个适配器,以提供与 std::unordered_map 或 std::map 相同的接口。
尽管 c++ 提供了一些很棒的容器,但您仍然必须手动实现一些东西以满足您的确切需求。
相关文章:
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 从值小于256的uint16到uint8的Endian安全转换
- 将stl字符串缩小到小于15个字符的容量
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 为什么我只能在C++中使用可变长度数组分配小于 10 mb 的内存?
- 如何为字符串生成唯一但一致的 N 位哈希(小于 64 位)?
- sizeof(size_t) 可以小于 sizeof(int) 吗?
- C++:如何计算二叉树中其值模块高度小于 2 的节点数?
- unique_ptr < 0 或小于运算符做什么?
- C++模板元编程(版本小于 17,最好是 11)
- 从小于或等于某个 N 的数字列表中最小化或找到 n 个理想的子集和
- c++curl返回413请求实体过大,但是post大小远小于max大小
- 如何在随机数列表中查找大于或小于的元素
- GetWindowRect()返回的大小小于游戏的实际可见窗口的可能原因是什么
- 创建一个循环,该循环将输出大于零且小于 60(不包括 60)的所有 5 的倍数
- std::p artition 的问题,用于分离小于枢轴的元素
- 我可以写出小于 -0.5 两个 ulps 的常量表达式双精度吗?
- 数字小于机器精度的安全算术?
- 每个元素小于某个特定数字的子数组的总和
- 以小于一毫秒的精度计算时间的功能