C++ c++;以不同的方式进行循环

C++ c++;以不同的方式进行循环,c++,loops,for-loop,C++,Loops,For Loop,最近,我用了一种漂亮的方法来输出一个向量 std::cout这是一个基于范围的C++循环:指定一个循环变量和一个容器,编译器生成迭代容器的代码,并在执行循环体之前依次为容器的每个项分配循环变量。此循环构造在C++11之前不可用 请注意,有一种方法可以在不使用循环的情况下输出容器: std::ostream_iterator<int> out_it (std::cout, " "); std::copy( odd.begin(), odd.end(), out_it ); std::

最近,我用了一种漂亮的方法来输出一个向量


std::cout这是一个基于范围的C++循环:指定一个循环变量和一个容器,编译器生成迭代容器的代码,并在执行循环体之前依次为容器的每个项分配循环变量。此循环构造在C++11之前不可用

请注意,有一种方法可以在不使用循环的情况下输出容器:

std::ostream_iterator<int> out_it (std::cout, " ");
std::copy( odd.begin(), odd.end(), out_it );
std::ostream\u迭代器out\u it(std::cout,”);
std::copy(奇数.begin(),奇数.end(),out_it);

我认为您可能对boost::foreach实现感兴趣:。这并不完全是标准for循环的实现,但您可以调试和研究foreach.hpp文件。下面是您可能感兴趣的示例:

#include <string>
#include <iostream>
#include <boost/foreach.hpp>

int main()
{
   std::string hello( "Hello, world!" );

   BOOST_FOREACH( char ch, hello )
   {
     std::cout << ch;
   }

   return 0;
}
#包括
#包括
#包括
int main()
{
string hello(“你好,世界!”);
BOOST_FOREACH(char ch,你好)
{
看不见。
#include <string>
#include <iostream>
#include <boost/foreach.hpp>

int main()
{
   std::string hello( "Hello, world!" );

   BOOST_FOREACH( char ch, hello )
   {
     std::cout << ch;
   }

   return 0;
}