Лучшее введение в C++ обрабатывает метапрограммирование по шаблону? [закрытый]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

112
задан Georg Fritzsche 22 September 2010 в 04:41
поделиться

8 ответов

[Ответ на мой собственный вопрос]

лучшие введения, которые я нашел до сих пор, являются главой 10, "Статическое Метапрограммирование в C++" от Порождающее Программирование, Методы, Инструменты и Приложения Krzysztof Czarnecki и Ulrich W. Eisenecker, ISBN-13: 9780201309775; и глава 17, "Метапрограммы" Шаблоны C++: полное руководство David Vandevoorder и Nicolai M. Josuttis, ISBN-13: 9780201734843.

alt text alt text alt text alt text

у Todd Veldhuizen есть превосходное учебное руководство здесь .

А хороший ресурс для программирования на C++ в целом современный Дизайн C++ Andrei Alexandrescu, ISBN-13: 9780201704310. Эта книга смешивает немного метапрограммирования с другими шаблонными методами. Для метапрограммирования в частности, посмотрите разделы 2.1 "Утверждения Времени компиляции", 2.4 "Отображающихся Интегральных Константы к Типам", 2.6 "Выбора типа", 2,7 "Обратимости обнаружения и Наследование во время компиляции", 2.9" NullType и EmptyType" и 2.10 "Черты Типа".

лучший промежуточный/усовершенствованный ресурс, который я нашел, Шаблонное Метапрограммирование C++ David Abrahams и Aleksey Gurtovoy, ISBN-13: 9780321227256

, Если Вы предпочли бы всего одну книгу, доберитесь Шаблоны C++: полное руководство , так как это - также категорическая ссылка для шаблонов в целом.

107
ответ дан 12 revs, 2 users 92% 24 November 2019 в 02:52
поделиться

Andrei Alexandrescu современные обложки книги Дизайна C++ многое из этого и других приемов для быстрого и эффективного современного C++ кодирует, и основание для библиотека Loki .

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

23
ответ дан Dan Forbes 24 November 2019 в 02:52
поделиться

современный Дизайн C++, блестящая платформа книги и шаблона разработки Alexandrescu. Word предупреждения, после чтения этой книги я прекратил делать C++ и думал, "Какого черта, я могу просто выбрать лучший язык и получить его бесплатно".

12
ответ дан Florian Bösch 24 November 2019 в 02:52
поделиться

Две хороших книги, которые приходят на ум:

  • современный Дизайн C++ / Andrei Alexandrescu (Этому на самом деле 7 лет несмотря на имя!)
  • Шаблоны C++: полное руководство / Vandevoorde & Josuttis

Это - вполне всестороннее поле, таким образом, хорошая книга как один из них определенно рекомендуется по веб-сайтам. Некоторые более усовершенствованные методы будут иметь Вас изучающий код в течение некоторого времени, чтобы выяснить, как они работают!

6
ответ дан Nik 24 November 2019 в 02:52
поделиться

современный C++ является одним из лучших введений, которые я считал. Это покрывает фактические полезные примеры шаблонного метапрограммирования. Также смотрите на сопутствующую библиотеку Loki.

5
ответ дан Eclipse 24 November 2019 в 02:52
поделиться

Не будет большого списка книг, поскольку список людей с большим опытом ограничен. Шаблонное метапрограммирование, запущенное для реального вокруг первого Цеха Шаблонного программирования C++ в 2000 и многих авторов, назвало до сих пор посещенным. (IIRC, Andrei не сделал.) Эти пионеры значительно влияли на поле, и в основном что должно быть записано, теперь записан. Лично, я был бы совет Vandevoorde & Josuttis. Alexandrescu является жесткой книгой, если Вы плохо знакомы с полем.

5
ответ дан MSalters 24 November 2019 в 02:52
поделиться

Исходные бумаги Veldhuizen были хороши. Если Вы для целой книги, то существует книга Vandevoorde "Шаблонное полное руководство C++". И когда Вы готовы к курсу ведущего устройства, попробуйте современный Дизайн C++ Alexandrescu.

4
ответ дан eduffy 24 November 2019 в 02:52
поделиться

google Alexandrescu, современный дизайн C++: универсальные шаблоны программирования и шаблоны разработки применяются

4
ответ дан Maxim Ananyev 24 November 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: