C++使用for和foreach,g++編譯C++11程式
阿新 • • 發佈:2019-02-10
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 <iostream> #include <algorithm> 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
完。