为什么没有办法在C中撤消“使用”?

前端之家收集整理的这篇文章主要介绍了为什么没有办法在C中撤消“使用”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_0@
我经常发现自己想要一种方法来撤消使用语句的效果,或者包含所有的命名空间(例如std),但是排除要替换的位(如cout).由于某种原因,这是不可能的.我想知道是否有人知道为什么决定不添加这种语言的能力?有技术原因吗?我认为它不只是被遗忘,因为它似乎也不适用于C 0x.

只是为了澄清,我不是在寻找解决方法,因为Google可以告诉我那些.我正在寻找一个解释为什么这是不可能的,为什么不考虑(据我所知)包含在0x.

解决方法

using指令在给定的声明范围内带来名称名称集.

你不能因为你不能说的同样的原因“不使用”

int x = 42;
// and later
[remove name x somehow]

没有办法在C中从范围中引用名称,无论这些名称来自哪里.

鉴于它将过于复杂的名称查找(因为名称可以从范围中添加删除),除非有一个非常引人注目的用例,它不可能被认为是潜在的语言功能.

猜你在找的C&C++相关文章