C++使用for和foreach,g++编译C++11程序

Windows的for each在Linux下编译不过去,所以找了一下C++使用foreach的通用方式。

//C++11 lambda 表达式解析
//http://www.cnblogs.com/haippy/archive/2013/05/31/3111560.html
//C++ 中的 Lambda 表达式
//https://msdn.microsoft.com/zh-cn/library/dd293608.aspx
#include 
#include 
int main()
{
    int intArr[] = { 1, 2, 3, 4, 5 };
    //
    std::cout << "std::for_each ......" << std::endl;
    std::for_each(std::begin(intArr), std::end(intArr),
        [](int i)->void{ std::cout << i << std::endl; });
    //
    std::cout << "for(const auto& i : intArr) ......" << std::endl;
    for(const auto& i : intArr)
        std::cout << i << std::endl;
    //
    return 0;
}

在Linux上编译时,才发现我还不会用Linux的编译器呢,找了一下,发现这样可以编译成功。

g++ -Wall -std=c++11 test.cpp -o test.out

完。

你可能感兴趣的:(c/c++)