LINUX.ORG.RU

Посоветуйте толковые книги на русском/английском по Си++ (Cxx11)

 , ,


13

11

Посоветуйте толковые книги на русском/английском по Си++.
Чтобы был нормальный перевод и содержание.
У меня где-то лежит каталог с O'Reilly, надо бы посмотреть среди них. Ещё что-то брал по акции «книга за 1 рубль» в books.ru

В двух словах - я старпёр, который изучал Си/Си++ в 1996-1997 году по книжкам:
* В.В.Подбельский Язык Си++ (Финансы и статистика)
* Беляков М.И., Рабовер Ю.И., Фридман А.Л. Мобильная операционная система
* немного смотрел русский перевод Керниган-Ритчи в бумажном виде в библиотеке когда интернетов не было, а свою книгу купить - стипендия не позволяла
* в 2004-2005 году читал книгу Страуструп Б. Дизайн и эволюция С++

Все эти книги читал в бумажном варианте.

По работе писал только на Си с классами и на Паскале с классами (+Делфи). Сейчас хотел бы по-изучать Си++, чтобы понимать современный код. Какие книги посоветуете? Интересует компактное изложение фундаментальных основ, желательно - на русском языке. Или что-то не очень тяжёлое на английском (чтобы не надо было переводить каждое слово со словариком). Надеюсь, понятно объяснил. Спасибо.

Просто я встретил на днях код вида

A::B::C::D ...
, и понял, что пора догонять поезд. На университетских знаниях 20-летней давности сейчас делать почти нечего. Хочу перестать заниматься быдлокодерством, и начать осваивать современные знания.

Ещё - есть ли краткая табличка с основными различиями в стандартах (Comparison table/list)? Или лучше просто прочитать для начала Wikipidia:C++11, и составлять такую таблицу самому?

За что браться не следует однозначно новичку, что освоить для быстрого JFF-эффекта, если хорошо знал в своё время Си с классами? Нравится концепция namespaces. Ещё хотелось бы впоследствии плавный переход на какую-то функциональщину, чтобы знания по современному Си++ пригодились. Какие концепции/подходы есть общие?

Ответ на: комментарий от Nexmean

Rust - во многом первопроходец, тут и мощная система типов, и, что важнее, memory safety, и многопоточность без гонок по данным гарантированная статически.

Да, надо будет как-нибудь изучить его хотя бы на базовом уровне. Если я и не изменю своё мнение, то оно хотя бы будет более обоснованным.

Раст может и не стать «языком будущего», но его новшества наверняка повлияют на будущее императивных языков.

Возможно.

aureliano15 ()
Ответ на: комментарий от bigbit
 A::B::C::D ...

Вложенные namespace или классы?

Могут быть и вложенные классы, и статические поля, и namespace, и всё вместе. Например такое:

namespace A {
struct B
{
 struct C { static int D; };
};
int B::C::D=0;
}

int main()
{
  return A::B::C::D = 1;
}
aureliano15 ()
Ответ на: комментарий от slackwarrior

Которые на практике порой запутаннее самых запутанных иерархий. Но при этом эффективнее, да.

Если это практика «смари чо могу» в духе Александрески — безусловно.

Там даже без хитрых вывертов отладка может сильно усложниться (впрочем, как и при использовании больших иерархий классов). А уж если ещё и изворачиваться почём зря...

aureliano15 ()
Ответ на: комментарий от aureliano15

Спасибо. Оказывается, C++ двадцатилетней давности я тоже не знаю.

bigbit ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.