vc++和*nix编译器的差异

VC++ and *nix Compiler Differences

本文关键字:编译器 nix vc++      更新时间:2023-10-16

我刚在大学开始编程。不幸的是,这种:

提交文件必须为记事本*.txt文件,字体为xx pt固定宽度

: facepalm指:

这不是重点!因此,使用vc++是"必需的"(我还没有收到关于*nix是否可以的确认电子邮件,只要它在Windows中工作),这对于:

来说似乎是荒谬的不必要的。
#include <iostream>
int main()
{
    std::cout << "Hello, world." << endl;
    system("pause");
    return 0;
}

除了我无法忍受在Windows环境下开发之外,我更喜欢*nix机器…

我的问题是以下代码是否会在Windows中正确编译,特别是getline在尝试复制system("pause")功能时:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string p;  
    cout << "Hello, world" << endl;
    cout << "Press enter...";
    getline(cin, p);
    return 0;
}

vc++和*nix编译器之间是否存在影响简单程序执行结果的主要差异?

我已经在网上搜索过了,还没有找到多少答案。

回答具体问题:是的,std::getline(std::cin, p)将暂停执行,直到从std::cin读取n字符。这里假设在提示符显示之前没有这样的字符—例如,仅仅是因为用户已经按下了它。

使用Visual Studio 2015在线编译器之一,您可以验证它是否确实编译。这里存在不能输入任何内容的问题,但您至少可以验证它是否编译并查看将来分配的输出。