C++标题混淆

Mas*_*ike 0 c++ string mingw header

所以在夏季学期之前的休息时间里,我正试着自己学习一点C++.我正在写一本书,但没有使用提供的编译器.相反,我正在使用MinGW.我遇到的问题是两个编译器所需的标题似乎有些不同.例如,文本使用的位置

#include <iostream.h>
Run Code Online (Sandbox Code Playgroud)

...... MinGW C++编译器需要......

#include <iostream>
Run Code Online (Sandbox Code Playgroud)

...所以现在我有一个简单的程序来操作我正在尝试运行的字符串,并且文本中提供的标题是......

#include <string6.h>
Run Code Online (Sandbox Code Playgroud)

...而且我不知道要包含哪个标题以使其运行.事实上,我真的不知道标头是如何工作的.我对Java和Python有一个粗略的了解,就是这样.我是否需要安装文本附带的编译器?在哪里可以找到MinGW C++编译器用于不同数据的标题列表?这是我试图运行的代码...

int main() {
    string s1;
    string s2;

    s1 = "This is a test";
    s2 = "and so is this.";

    cout << s1;
    cout << s2;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助和洞察标题工作的一般方式将非常感激.MinGW文档似乎没有任何意义.

Jon*_*ler 6

获取一本新书 - 请参阅The Definitive C++ Book Guide和List以获取建议.

<iostream.h>这是在1998年的标准下降了-之前的C++标准发布中使用的符号标题.h后缀.

它还添加了许多功能,您的书可能没有涵盖 - 特别是模板库.

如果您必须使用您的书,请.h从大多数标题中删除后缀.但是,如果标头也被C使用,您可以继续使用.h后缀(例如<stdio.h>),或者在名称前加上c,如下所示<cstdio>.但期待一些问题......

  • @Masstrike - 是的,如果这本书实际上比1998年还要老,那它就是古老的.:-)从那以后,我们使用这种语言的方式发生了很大变化**. (2认同)