小编SWK*_*WKK的帖子

矢量清除与调整大小

我在互联网上读到,如果你正在std::vector重复清理(紧密循环),最好使用resize(0)而不是clear(),因为它可能更快.我不确定这一点.有没有人对此有明确的答案?

c++

12
推荐指数
2
解决办法
1万
查看次数

试图查看vector <string>在map <string,string>中是否没有值

只是为了好玩,我试图用带有boost :: bind的std :: find_if编写一行,以检查地图中向量中给出的所有键是否都没有值,但实际上无法提供一个整齐的代码行.
这是我的尝试

vector<string> v;  
v.push_back("a");  
v.push_back("2");  
...  
map<string, string> m;  
m.insert("b","f");  
...  
std::find_if(v.begin(), v.end(), boost::bind(&string::empty, boost::bind(&map<string,String>::operator[], _1), _2 )) != v.end();  
Run Code Online (Sandbox Code Playgroud)

显然这是一个很大的失败......有人试过这样的事吗?

c++ boost bind

3
推荐指数
2
解决办法
231
查看次数

模板战略模式

我想分解一个类,使其与执行某个任务的逻辑分离,以便用户可以按照自己的意愿编写新策略而不会干扰中心模型.所以,我想使用模板化策略类,但不必让策略的用户进行模板化:

   class Model {  
     ...  
     boost::shared_ptr< Strategy < T > > m_pStrategy;  
     ...  
     public:  
     template <  typename T  >  
     void DoSomething() { m_pStrategy < T > ::DoSomething(); }  
    };  
Run Code Online (Sandbox Code Playgroud)

我希望DoSomething函数不被模板化.有没有其他方法可以实现我想要做的事情?

谢谢.

c++ templates

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

标签 统计

c++ ×3

bind ×1

boost ×1

templates ×1