C++ has been around for more than 15 years. During that long period it has been significantly extended, improved, and standardized. One of the consequences of any standardization process is that old, dangerous, redundant, undesirable features are gradually removed. A good example for deprecated features in C++ is using int type to represent boolean values rather than using the built-in bool type; or using the
static keyword to indicate internal linkage of an otherwise global function/object instead nameless namespace.
By deprecating a feature, the standardization committee expresses the wish that the feature would disappear from the language. Removing the feature from the language altogether is impractical since existing code would not be able to compile anymore. In other words, deprecating a feature gives its users the time to remove it from their code. From a user point of view, a deprecated feature is one that should not be used anymore, since future versions of the Standard will flag it as an error. In the interim period, compilers should warn about its use.
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible.
Submit your tip here.