如果一个项目的生命周期很长, 那么不可避免的, 很多接口会更新, 新的需求催生新的接口, 但是旧的接口还在某些场景要使用. 需要逐步淘汰, 而不是一下子全部删除旧的接口. 对于旧的接口, 常见做法:
使用Comment提醒使用者:
直接将旧接口注释掉
例子:
//Don't use function(), use functionV2() instead! void function(void); void functionV2(); #if 0 void interface(void); #endif void interface(void);
很显然, 这两种做法都不算令人满意, 因此造成的开发故障在实际工程中也是层出不穷.
如果你的项目使用现代C++语言开发, 可以考虑使用deprecated这个关键字.
需要提醒下的是, 这个特性是C++14标准增加的, 编译代码时需要检查C++标准在C++14之后才能使用这个特性. 如果你使用最新的工具, 这个条件很容易达到.
cout << "__cplusplus:" << __cplusplus << endl;
输出:
__cplusplus:201402
或者以上即可.
有必要时编译时指明C++标准:
g++ test_dep.cpp --std=c++14 最小支持该特性的Clang版本:3.4 最小支持该特性的GCC版本: 4.9
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。