using声明问题

[复制链接]
2029|4
 楼主| sinadz 发表于 2013-3-27 18:37 | 显示全部楼层 |阅读模式
书上说,C++中的using声明可以使得后面的名字不加命名空间修饰直接使用。如using std::string,使得后文可以直接使用string而不用std::修饰。但是如果恰好我引用的其他一个命名空间也有这个类型,也使用了using声明,如:using tar::string;那么,在当前作用域哪个名字将被屏蔽?如果这样,using声明岂不是意义不大?
秋天落叶 发表于 2013-3-27 18:53 | 显示全部楼层
名字空间本来就是防止重复定义这个作用,如果你不用作用域来使用string的的话,编译就会报错(无法识别你用的是哪个string),而不是被屏蔽,你可以试试。
hsbjb 发表于 2013-3-27 19:02 | 显示全部楼层
需要加上名空间::class才能用。
无冕之王 发表于 2013-3-27 19:16 | 显示全部楼层
秋天落叶 发表于 2013-3-27 18:53
名字空间本来就是防止重复定义这个作用,如果你不用作用域来使用string的的话,编译就会报错(无法识别你用 ...

LZ可以试试
smilingangel 发表于 2013-4-9 20:10 | 显示全部楼层
这个还是有点高深的,我跟着学习啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部