c – 在另一个命名空间中是否使用等同于别名的命名空间?
发布时间:2020-12-16 03:39:07 所属栏目:百科 来源:网络整理
导读:考虑以下两个语句: namespace foo = bar; 和 namespace foo { using namespace bar;} 这两个陈述是否相当,还是有一些我不知道的细微差别? (请注意,这不是编码风格的问题 – 我只是对C解析感兴趣). 解决方法 namespace foo=bar; 这不影响任何名称查找规则.
考虑以下两个语句:
namespace foo = bar; 和 namespace foo { using namespace bar; } 这两个陈述是否相当,还是有一些我不知道的细微差别? (请注意,这不是编码风格的问题 – 我只是对C解析感兴趣). 解决方法namespace foo=bar; 这不影响任何名称查找规则.唯一的影响是让’foo’别名为’bar’.例如: namespace bar { void b(); } void f () { bar::b (); // Call 'b' in bar foo::b (); // 'foo' is an alias to 'bar' so calls same function } 以下更改查找规则 namespace NS { namespace bar { } namespace foo { using namespace bar; void f () { ++i; } } } 当’i’进行查找时,首先搜索’foo’,然后再搜索’NS’,然后’bar’. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |