Herb Sutter provided this handy use of lambdas to initialise a const variable that needs some logic:
const int i = [&]{ int i = some_default_value; if(someConditionIstrue) { Do some operations and calculate the value of i; i = some calculated value; } return i; } (); // note: () invokes the lambda!
It requires that the compiler can determine the type of the lambda even though it isn’t a simple return – that’s due to be finalised in C++14 but is supported in some compilers already.