Изучение C++ программирование

Изучаю C++ (с нуля, =)), скачал книгу прочитал о том о сём дошел до примера. Набираю пример в редакторе, сохраняю primer.cpp - полезли ошибки, посмотрел всё внимательно нашел ошибки исправил. Далее пошли ошибки такого типа. Например: в книге написано
#include <iostream.h> , при компиляции выдаёт ошибку. Лезу в интернет узнаю что теперь верно так iostream то есть без .h Далее выдаёт ошибку на вот эту строку кода cin >> nNCelsius;а, конкретно на cin (что то, что cin не был объявлен). Пока ищу причину в интернете, не нашел. Вопрос: посоветуйте свежий материал по изучению C++, или где смотреть изменения в C++ на сегодняшний день. Книга у меня от 2003 года. Заранее благодарю.
  • Вопрос задан
  • 3207 просмотров
Решения вопроса 1
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Вас сейчас могут интересовать лишь два стандарта языка: распространенный С++03 и современный С++11(он же С++x0).
Помимо книжки, необходимо правильно выбрать компилятор, ибо они не все поддерживают стандарты (причем, все по-разному). Поддержку того старого безобразия с обязательными заголовочными файлами с ".h" и без пространств имен (namespaces) обеспечивает олдскульная Microsoft Visual Studio 6. Последующие версии студии - это уже С++03, возможно, с добавками С++11. Лучше всего дело обстоит у свободного компилятора GNU GCC. Информацию можно найти в интернете, например, по повожду С++11:
wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

Книги лучше искать по-новее. Не категорически последние, но все же. Из особо явных различий - это необходимость замены заголовочных файлов из библиотеки С++ на эквиваленты на "без .h" ( iostream.h -> iostream ), а из С-шной библиотеки - также убрать .h, но в начале поставить "с" ( math.h - > cmath ) и обращение к функциям и типам С++-ной стандартной библиотеки через пространство имен std::тип_или_имя_функции. В основах же особых изменений не было.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@lookid
Как же вы все меня задолбали. Языки типа С++ С Prolog и прочее не учат отдельно. Их учат как необходимость в предметной области. Там учить нечего: ООП, STL, ссылки-указатели. Я вот на днях собеседования на С++, так мы там 1.5 часа квадраты пересекали и рунге-кутта интерполировали. По плюсам же спрашивали 3-4 вопроса.
Ответ написан
@ProkletyiPirat
взято с wikipedia ...
// это подключает заголовочный файл iostream
#include <iostream> 
 
using namespace std; //где искать cout, cin и т.п.  гуглим что такое namespace
 
int main()
{
    cout << "Hello, world!" << endl; // можно и "...\n" вместо endl
    return 0;
}


пример 2:

// это подключает заголовочный файл iostream
#include <iostream> 
 
int main()
{
    /* можно и без namespace */
    std::cout << "Hello, world!" << endl; // можно и "...\n" вместо endl
    return 0;
}
Ответ написан
Комментировать
IlyaEvseev
@IlyaEvseev
Opensource geek
В сети есть обзоры отличий нового стандарта:
- en.wikipedia.org/wiki/C++0x
- sergeyteplyakov.blogspot.ru/2012/05/c-11-faq.html
- habrahabr.ru/post/182920
Ответ написан
Комментировать
Я бы посоветовал C++ Primer Plus, 6th Edition / Язык программирования C++. Лекции и упражнения. По-моему очень неплохой учебник. Ну или
Stroustrup B. / Страуструп Б. - The C++ Programming Language / Язык программирования С++.
Ответ написан
Комментировать
@kvor
Сам перепробовал массу книг по C++...
Очень советую книгу Эндрю Кёнинг "Эффективное программирование на C++". Она хоть и 2002 года, но C++ от это не перестал быть C++

Я по ней изучал, всё очень доходчиво от начала и до конца, не было ни одного нерабочего примера. Никаких там <*******.h>. Есть ООП STL..

Если хочешь с нуля изучить на достаточно приемлемом уровне, качай её. Ну, а Страуструпа читать можно только если уже что-то знаешь, с нуля я бы не посоветовал
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы