小编Sta*_*ion的帖子

如何在map和unordered_map之间进行选择?

假设我想用字符串作为键来映射数据.我应该选择哪个容器,map或者unordered_mapunordered_map占用更多内存所以让我们假设内存不是问题,关注的是速度.

unordered_map通常应该给出O(1)的平均复杂度与O(n)的最坏情况.在什么情况下它会到达O(n)?什么时候map获得更多的时间效率unordered_map?当n很小时会发生吗?

假设我将STL unordered_map与默认的haser Vs一起使用.地图.字符串是关键.

如果我要迭代元素而不是每次访问单个元素,我应该更喜欢map吗?

c++ dictionary stl unordered-map data-structures

75
推荐指数
4
解决办法
5万
查看次数

如何在数组中找到两个缺失值?

可能重复:
简单的面试问题变得更难:给出数字1..100,找到丢失的数字

求职面试问题.假设我们有一个大小为N-2的数组,除了两个缺失值之外,所有值都从1到N.(N> 0)

需要一种用于查找两个缺失数的算法,该算法仅遍历数组一次.

c++ arrays algorithm

4
推荐指数
1
解决办法
1958
查看次数

如何告诉编译器不在/ ob1优化下在类定义中定义的内联方法?

使用优化选项/ Ob1编译Visual C++项目时,只有带有关键字__inline/inline的函数或者在类定义中定义的函数才会被内联(甚至不一定,但只有在编译器看到它适合的情况下).

我的问题是,是否有可能告诉编译器(在Visual C++下)只内联使用inline关键字内联定义的函数,而不是在/ Ob1优化选项下定义在类定义内定义的内联方法?

g ++编译器是否与Windows上的/ Ob1选项相同(例如,在g ++ -O3选项下),是否在类定义中定义了内联成员方法?如果是,是否有办法告诉它只内联带有inline关键字的类定义之外的函数?

c++ g++ inline visual-c++

1
推荐指数
1
解决办法
360
查看次数