Ete*_*nal 1 c++ using-directives
我对使用声明有点困惑.我理解using foo::bar;将符号bar从命名空间foo导入当前命名空间,但这是静态还是动态发生的?
更具体地说,使用声明会导致开销吗?是否可以根据条件导入具有相同名称的不同符号?(这将是不好的做法,但我很好奇所有相同)
感觉它应该是静态的,但我找不到任何东西来证实这一点......
命名空间解析在编译时发生.您无法在运行时动态更改它们.
根据条件导入不同符号的一种方法是使用预处理程序指令和宏:
#ifdef USEA
using a::f;
#else
using b::f;
#endif
Run Code Online (Sandbox Code Playgroud)