小编Owe*_*wen的帖子

如何从std :: map中检索所有键(或值)并将它们放入向量中?

这是我出来的可能方式之一:

struct RetrieveKey
{
    template <typename T>
    typename T::first_type operator()(T keyValuePair) const
    {
        return keyValuePair.first;
    }
};

map<int, int> m;
vector<int> keys;

// Retrieve all keys
transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey());

// Dump all keys
copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n"));
Run Code Online (Sandbox Code Playgroud)

当然,我们也可以通过定义另一个仿函数RetrieveValues从地图中检索所有值.

有没有其他方法可以轻松实现这一目标?(我总是想知道为什么std :: map不包含我们这样做的成员函数.)

c++ dictionary stl stdmap

222
推荐指数
16
解决办法
30万
查看次数

当您要将一些新功能添加到具有几乎*NO*单元测试代码的大型(和脏)代码库时,您会怎么做?

Martin Fowler说我们应该在添加新功能之前进行重构(假设原始程序结构不合理).

所以我们都想重构这个代码库,这是肯定的.我们也知道,如果没有单元测试代码,很容易引入细微的错误.

但它是一个庞大的代码库.添加一整套测试似乎是不切实际的.

在这种情况下你会做什么?

testing refactoring unit-testing

9
推荐指数
5
解决办法
723
查看次数

标签 统计

c++ ×1

dictionary ×1

refactoring ×1

stdmap ×1

stl ×1

testing ×1

unit-testing ×1