考虑以下两个语句:
@H_404_4@和
- namespace foo = bar;
@H_404_4@这两个陈述是否相当,还是有一些我不知道的细微差别? @H_404_4@(请注意,这不是编码风格的问题 – 我只是对C解析感兴趣).
- namespace foo {
- using namespace bar;
- }
解决方法
@H_404_4@这不影响任何名称查找规则.唯一的影响是让’foo’别名为’bar’.例如:
- namespace foo=bar;
@H_404_4@以下更改查找规则
- namespace bar
- {
- void b();
- }
- void f () {
- bar::b (); // Call 'b' in bar
- foo::b (); // 'foo' is an alias to 'bar' so calls same function
- }
@H_404_4@当’i’进行查找时,首先搜索’foo’,然后再搜索’NS’,然后’bar’.
- namespace NS
- {
- namespace bar
- {
- }
- namespace foo {
- using namespace bar;
- void f () {
- ++i;
- }
- }
- }