前端之家收集整理的这篇文章主要介绍了
为什么没有办法在C中撤消“使用”?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@
我经常发现自己想要一种
方法来撤消使用语句的
效果,或者包含所有的命名空间(例如std),但是排除要替换的位(如cout).由于某种原因,这是不可能的.我想知道是否有人知道为什么决定不
添加这种语言的能力?有技术原因吗?我认为它不只是被遗忘,因为它似乎也不适用于C 0x.
只是为了澄清,我不是在寻找解决方法,因为Google可以告诉我那些.我正在寻找一个解释为什么这是不可能的,为什么不考虑(据我所知)包含在0x.
using指令在给定的声明范围内带来
名称或
名称集.
你不能因为你不能说的同样的原因“不使用”
int x = 42;
// and later
[remove name x somehow]
没有办法在C中从范围中引用名称,无论这些名称来自哪里.
鉴于它将过于复杂的名称查找(因为名称可以从范围中添加和删除),除非有一个非常引人注目的用例,它不可能被认为是潜在的语言功能.