It seems C++11 support only became mainstream just recently, and now we're already well into getting full support for the C++14 feature set. There are a lot of new things, some small, some major, but some are honestly quite useful and are sure to see a lot of use from the average C++ programmer. Lets take a look at a few that piqued my interest.

The [[ deprecated ]] attribute. Adding this to an entity marks its use as legal, but will generate compiler warnings notifying the user of its discontinued use. Wow! You can even supply an optional string literal to document the reason for its deprecation as well as suggesting a replacement for the deprecated entity.

Tuple addressing via type. Tuples were introduced with the C++11 standard, but required the members to be addressed via the index. With C++14 you can now address them via their type, assuming of course that this type is unique in the tuple. If its not, you'll get the expected compilation error. This is sure to be useful in situations where the types of the members are important and unchanging, but the ordering of the tuple might change or needn't be relevant.

Heterogeneous lookups in associative containers. Ever tried to do a look up on an unordered_map where they key was a std::string? Of course. Ever tried to do it with a char *? Probably still a yes. Previously the compiler would convert your const char * to a string, use that for the lookup and then discard its newly constructed string. Sounds wasteful. Now with C++14 any lookup can be done with an arbitrary type provided that operator< is overloaded.

This is only scratching the surface of C++14. There are numerous other changes in mutexes and locking, lambdas, binary literals, to name a few. I'd encourage you to check them out at The C++ Standards Committee.