1, the code is as follows:
void output1 (int x)
{
if (x = = 10000000)
{
Std::cout << x << Std::endl;
}
}
Const std::string Getcurrentsystemtime ()
{
Auto TT = std::chrono::system_clock::to_time_t
(Std::chrono::system_clock::now ());
struct tm* ptm = localtime (&TT);
Char date[60] = {0};
sprintf (date, "%d-%02d-%02d%02d:%02d:%02d",
(int) Ptm->tm_year + 1900, (int) Ptm->tm_mon + 1, (int) Ptm->tm_mday,
(int) ptm->tm_hour, (int) ptm->tm_min, (int) ptm->tm_sec);
return std::string (date);
}
void Test9 ()
{
Std::cout << getcurrentsystemtime () << Std::endl;
Std::vector<int> Coll;
for (int i = 0; I <= 10000000; i++)
{
Coll.push_back (i);
}
Std::cout<<getcurrentsystemtime () <<std::endl;
Std::for_each (Coll.begin (), Coll.end (), OUTPUT1);
Std::cout << getcurrentsystemtime () << Std::endl;
for (auto Iter:coll)
{
if (iter = = 10000000)
{
Std::cout << iter << Std::endl;
}
}
Std::cout << getcurrentsystemtime () << Std::endl;
for (Auto iter = Coll.begin (); ITER! = Coll.end (); ++iter)
{
if (*iter = = 10000000)
{
Std::cout << *iter << Std::endl;
}
}
Std::cout << getcurrentsystemtime () << Std::endl;
for (Auto iter = Coll.begin (); ITER! = Coll.end (); iter++)
{
if (*iter = = 10000000)
{
Std::cout << *iter << Std::endl;
}
}
Std::cout << getcurrentsystemtime () << Std::endl;
}
2. The result of operation is as follows:
C + + range-based for loop performance test (for std::vector)