Путаница в заголовке C ++ - PullRequest
0 голосов
/ 04 мая 2011

Так что во время простоя перед летним семестром я пытаюсь выучить немного C ++ самостоятельно. Я работаю через книгу, но не использую предоставленный компилятор. Вместо этого я использую MinGW. Проблема, с которой я столкнулся, заключается в том, что заголовки, которые нужны двум компиляторам, выглядят несколько иначе. Например, где текст использует

#include <iostream.h>

... компилятору MinGW C ++ требуется ...

#include <iostream>

... так что теперь у меня есть простая программа, управляющая строками, которую я пытаюсь запустить, и заголовок, представленный в тексте, ...

#include <string6.h>

... и я не знаю, какой заголовок включить, чтобы он работал. На самом деле, я не знаю, как работают заголовки. У меня есть беглое знание 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;
}

Любая помощь и понимание общего способа работы заголовков будет принята с благодарностью. Я не могу понять смысл документации MinGW.

Ответы [ 2 ]

6 голосов
/ 04 мая 2011

Купите себе новую книгу - см. Подробное руководство и список книг C ++ для предложений.

Заголовки нотации <iostream.h> использовались до публикации стандарта C ++, что было в 1998 году. В стандарте пропущен суффикс .h.

Также добавлено множество функций, которые ваша книга, вероятно, не охватывает, в частности, библиотека шаблонов.

Если вы должны использовать свою книгу, удалите суффикс .h из большинства заголовков. Однако, если заголовок также используется C, вы либо продолжите использовать суффикс .h (например, <stdio.h>), либо добавите префикс имени к c, как в <cstdio>. Но ожидайте некоторых проблем ...

0 голосов
/ 04 мая 2011

Вам лучше прочитать документацию и образцы MinGW.Манипуляции со строками могут немного отличаться от одного компилятора к другому.

Вы также можете установить Visual Studio Express, это бесплатно.

...