已弃用和弃用(原因)
Version >= C++ 14
C++ 14 引入了一种通过属性来弃用函数的标准方法。[[deprecated]]
可用于指示函数已弃用。[[deprecated("reason")]]
允许添加可由编译器显示的特定原因。
void function(std::unique_ptr<A> &&a);
// Provides specific message which helps other programmers fixing there code
[[deprecated("Use the variant with unique_ptr instead, this function will be removed in the next release")]]
void function(std::auto_ptr<A> a);
// No message, will result in generic warning if called.
[[deprecated]]
void function(A *a);
此属性可应用于:
- 一个类的声明
- 一个 typedef 名称
- 一个变量
- 非静态数据成员
- 一个功能
- 枚举
- 模板专业化
(参考 c ++ 14 标准草案 :7.6.5 不推荐使用的属性)