containers

    3热度

    3回答

    设置允许双索引的容器的最佳方式是什么(使用C++)?具体来说,我有一个对象列表,每个对象都由一个键索引(可能每个键多个)。这意味着一个multimap。然而,这个问题是,它意味着可能比线性查找找到对象的位置。我宁愿避免重复数据,因此让每个对象保持它自己的坐标,并且必须在地图中移动它本身是不好的(更不用说移动自己的对象可能在成员函数中间接调用析构函数!)。我宁愿一些通过对象指针和坐标来维护索引的容器

    71热度

    2回答

    由于在堆栈被用于容器所需的唯一操作是: 背面() 的push_back() pop_back() 为什么是默认的容器因为它是一个deque而不是一个向量? 不要deque reallocations给front()前的元素的缓冲区,这样push_front()是一个有效的操作吗?这些元素是不是浪费了,因为它们永远不会用在堆栈的上下文中? 如果没有使用deque这种方式而不是使用向量的开销,为什么p

    29热度

    3回答

    我想找到访问一组容器的通用方法。除了另一个自定义列表之外,我还有一个标准向量和列表。 自定义列表定义了一个迭代器; class Iterator: public std::iterator<std::forward_iterator_tag, T> { // ... } Iterator begin() { return (Iterator(root)); } It