本文介绍了C ++中的命名空间别名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用c ++ 11,而我需要c ++ 17库中的一些类.使用从中添加了类的boost时,我希望执行以下操作:
I use c++11 while I need some classes from c++17 library. When using boost from which classes were added I wish to do the following:
#if __cplusplus < CPP17 using std::any = boost::any; #endif不允许使用此类别名.扩展标准命名空间也会导致不确定的行为.我希望我的代码看起来与C ++版本相同.有没有明确的方法?
Such alias is not allowed. Also extending the std namespace causes undefined behaviour. I wish my code to look the same regardles of the c++ version. Is there a clear way?
推荐答案明确的方法是为其添加自定义名称.
The clear way is to add a customized name for it.
#if __cplusplus < CPP17 using my_any = boost::any; #else using my_any = std::any; #endif // using my_any...更多推荐
C ++中的命名空间别名
发布评论