annika-w
8/22/2017 - 11:17 AM

C++ 11 Cool Stuff

for (const auto& elem : container) { 
  // Observing the elem's
  cout << elem;  // elem == *it
}

for (auto elem : container) { /* By value - Copy of elem inside for-loop */ }
for (auto&& elem : container) { /* Modifying the elem's, will work for proxy-iterators */ }
double epsilon = 0.0001
std::transform(v.begin(), v.end(), v.begin(),
  [epsilon] (double d) -> double {
    if (d < epsilon) { return 0; }
    else { return d; }
});
// Captures: [&epsilon] OR [&, epsilon] OR [=, &epsilon]

auto factorial = [] (uint32 n) -> {
  uint32 result = n;
  for (int i = n-1; i > 0; i--) {
    result *= i;
  }
  return result;
};
uint32 fac = factorial(5);