My top 5 C++11 language features #3 - ‘export’ removed

By: Tim DelChiaro

Abstract: My next top C++11 feature is actually a feature discontinuation

This is a repost of a blog post from Embarcadero's John Thomas. You can get to his blog and the original post by clicking the blog post name below.

  My top 5 C++11 language features #3 - ‘export’ removed

My next top C++11 feature is actually a feature discontinuation. Many of you C++ programmers may not be aware of the ‘export’ keyword that was introduced in C++98 because very few compilers supported it (Borland and Comeu are the only ones I of which I am aware when using the EDG front-end). The purpose of this keyword was to allow a C++ developer to write a template declaration in a standard header file but be able to put the implementation in a source file. Sounds like a good idea for may reasons, right? As it turns out, it wasn’t a highly desired feature by most C++ developers.

And, to some extent, this feature was a compiler vendor’s white whale. One could not consider themselves 100% compliant to the spec without it, but truth be known, it was really hard to implement and wreaked havoc on the link stage.

One of the keys I have learned to being a good product manager is not only knowing what features to add to a release but also know what feature to ‘not’ add. So, kudos to the C++ standards committee for recognizing this as an undesired feature and officially removing the feature from the C++11 specification.

Server Response from: ETNASC03