Malthael Asked: 2020-02-12 06:46:03 +0800 CST 2020-02-12 06:46:03 +0800 CST 2020-02-12 06:46:03 +0800 CST C++ 哪种类型的屏幕暂停更高效 772 我见过用 C++ 实现的各种类型的暂停,例如: getch() cin.get() system("pause>nul") 但是我想知道它们中的哪一个是最正确或最推荐使用的,或者是否没有区别。 c++ 1 Answers Voted Best Answer Trauma 2020-02-12T07:12:08+08:002020-02-12T07:12:08+08:00 有几个区别: #include<stdlib.h> system( "pause > null" ); 这只适用pause于操作系统的 shell可以执行的命令。例如,在 Linux 上,它给出的错误为orden no encontrada. 此外,它比其他使用更多的资源:它需要调用外部程序(命令解释器);如果它识别出订单,它将执行它。如果它不识别它,它将调用另一个程序(或给出错误)。废物,来吧。 #include<conio.h> getch( ); 这不是便携式的。这取决于使用的库是否提供它,但我们不能假设它存在于所有编译器中。与上面相同的示例:在 Linux 上,它不起作用。 #include<iostream> cin.get( ); 这是正确的方法。它属于 C++ 标准,因此它会出现在所有符合它的编译器中。
有几个区别:
这只适用
pause
于操作系统的 shell可以执行的命令。例如,在 Linux 上,它给出的错误为orden no encontrada
.此外,它比其他使用更多的资源:它需要调用外部程序(命令解释器);如果它识别出订单,它将执行它。如果它不识别它,它将调用另一个程序(或给出错误)。废物,来吧。
这不是便携式的。这取决于使用的库是否提供它,但我们不能假设它存在于所有编译器中。与上面相同的示例:在 Linux 上,它不起作用。
这是正确的方法。它属于 C++ 标准,因此它会出现在所有符合它的编译器中。