Will he continue to work in the future?
Probably, but always_inline is specific to the compiler, and since there is no standard indication of its exact behavior with a lambda, there is no guarantee that this will continue to work in the future.
What can I do to make sure it works?
It depends on the compiler, not on you. If the future version supports always_inline support with lambda, you should stick with a version that works or encodes your own preprocessor that embeds lambdas with the always_inline keyword.
If I ever switch to another main compiler that supports C ++ 11, will I find a similar keyword?
Probably, but again, there is no guarantee. The only real standard is the C ++ inline , and it does not apply to lambdas. For non-lambda, this only offers embedding and tells the compiler that the function can be defined in different compilation units.
source share