【发布时间】:2017-07-06 11:57:43
【问题描述】:
这是对以下内容的跟进:
How do I put some code into multiple namespaces without duplicating this code?
我需要更改命名空间的名称,但希望保持向后兼容性。上面的解决方案表明我必须为每个功能做那里所做的事情:
namespace NewNamespaceName
{
void print()
{
//do work...
}
// 50 other functions
}
namespace OldNameSpaceName
{
using NewNamespaceName::print;
// 50 other using declarations
}
我的问题:有没有更简单的方法来做到这一点?
【问题讨论】:
-
把所有的都放在一个唯一的命名空间里,
using完整的命名空间(可能是inline)。 -
如果您在
NewNamespaceName中有不应该在OldNamespaceName中不 的符号,那么不,您别无选择。可能您可以使用脚本将其自动化。
标签: c++ namespaces backwards-compatibility