当前位置:  开发笔记 > 编程语言 > 正文

最常用的是STL算法,谓词,迭代器

如何解决《最常用的是STL算法,谓词,迭代器》经验,为你挑选了4个好方法。

我在stackoverflow上找不到这个问题.但我想知道人们如何使用STL(没有花哨的提升)......只是一个时尚STL.技巧/提示/大多数情况下使用的案例多年来......也许还有很多......

让我们分享吧......

每个答案一个提示......代码示例 -

编辑是一个如此糟糕的问题,因为它导致downvotes?



1> 小智..:

我最喜欢的是以下内容,可以将任何可流动的内容更改为字符串:

template  std::string Str( const TYPE & t ) {
    std::ostringstream os;
    os << t;
    return os.str();
}

然后:

string beast = Str( 666 );


看到原始问题 - 不允许提升

2> X-Istence..:

我在几乎所有的项目中使用STL,从循环(使用迭代器)到将输入分成程序.

用空格对输入字符串进行标记,并将结果输入到std :: vector中以便稍后解析:

std::stringstream iss(input);
std::vector * _input = new std::vector();

std::copy(std::istream_iterator(iss), 
          std::istream_iterator(), 
          std::back_inserter >(*_input));

其他收藏夹当然是std :: reverse和其他各种算法.



3> Mark Ransom..:

使用vector替换指针+ new.那太大了.



4> Martin York..:

我喜欢istream_iterator和ostream_iterator.

读取流并使其看起来像任何其他容器的简单方法:

// Copies a stream of integers on the std input
// into a vector.
int main()
{
    std::vector    data;
    std::copy(std::istream_iterator(std::cin),
              std::istream_iterator<>(),
              std::back_inserter(data)
             );

    // By uisng the istream_iterator<> the input just becomes another container.
}

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有