std::cin.get();
:这是C++中的一个小把戏,它会等待用户输入一个字符(通常是回车)才继续执行。这个方法的好处是跨平台性好,而且不需要调用外部命令。不过,它只适用于控制台程序,而且如果用户不知道要按回车,可能会感到困惑。system("pause");
:这是Windows下的老把戏了,它会弹出一个“按任意键继续...”的窗口。优点是简单直接,但缺点也很明显:它依赖于Windows的cmd
环境,而且system
函数本身就有性能和安全性的问题。getchar();
:这个和std::cin.get();
有点像,也是等待用户输入一个字符。不过,它更底层一些,不需要包含额外的头文件。和std::cin.get();
一样,它也只适用于控制台程序。while(1);
:这个...这个其实是个“假把戏”。它会让你的程序陷入一个无限循环,根本停不下来!除非你用任务管理器强制结束它,或者你有某种方式(比如另一个线程或信号)来跳出这个循环。这显然不是你想要的效果。
综上所述,如果你的程序是控制台程序,并且你希望它在显示完信息后等待用户按键再继续(或者退出),那么std::cin.get();
或getchar();
都是不错的选择。我个人更倾向于std::cin.get();
,因为它更标准、更易于理解和维护。当然,如果你只是想在Windows下快速解决问题,并且不介意使用system
函数的副作用,那么system("pause");
也可以。但是,请记得,最好的做法是避免使用system
函数,因为它可能会给你的程序带来不必要的麻烦。