如何使用_getch()而不使用“using namespace std;?

时间:2015-06-26 16:36:07

标签: c++

对于使用 iostream 库,我们必须使用std :: cin; 或类似内容编写

我应该写什么来使用 _getch()

我不想使用“using namespace std;

4 个答案:

答案 0 :(得分:2)

标准c ++中没有_getch()名称的函数。但是 有多种方法可以从流中获取字符。如果你想像

那样在流上操作
using namespace std;

...

cin >> myvariable;

但是通过检索单个字符,你想要的是输入流的成员函数,称为get()

您可以使用cin.get()在控制台输入流上调用它,这将返回从控制台读取的字符。如果您不想使用using namespace std;行,只需使用std::cin.get()代替。

这是因为标准库中的几乎所有内容都位于std命名空间中。您始终可以通过在命名空间前面添加命名空间名称,而不是使用using语句来访问命名空间中的内容:使用第一个代码,等效项将是

std::cin >> myvariable

您可以使用命名空间和使用语句做一些其他巧妙的事情,例如指定您只想在没有说明符的情况下使用命名空间中的单个项目。这可以通过线路来完成(与cin一起玩):

using std::cin;

让你说

cin >> myvariable;

答案 1 :(得分:2)

你必须写#include <conio.h>

答案 2 :(得分:0)

_getch()是(非标准的,Microsoft特定的) C函数:由于C中没有“命名空间”的概念,因此您无法使用"using namespace std;" _getch

答案 3 :(得分:-1)

考虑一种情况,当我们在同一个班级中有两个同名的人,艾玛。每当我们需要区分它们时,我们必须使用一些额外的信息以及它们的名称,例如,如果它们居住在不同的区域或他们的母亲或父亲的名字等区域。

使用命名空间std;只不过是用于区分用户定义变量和内置关键词含义的值池。

所以使用_`

var SelectBox ={
    disableOptionInSelection : function(selectID,valueToDisable){
        $("#"+selectID+" option[value*='+valueToDisable+']").prop('disabled',true);
    }
};
SelectBox.disableOptionInSelection("#myid","Hello");

`//将完美地运行,并且不需要任何库