Какие идиомы C++ программисты на C++ должны использовать? [закрытый]

Как быстро Вы вводите? Если Вы ищете и клюете, то emacs не для Вас. Если Ваш быстрый tho, это может помочь не необходимости захватить Вашу мышь все время.

46
задан Robert Harvey 1 November 2014 в 16:04
поделиться

7 ответов

Вот один список . Если бы мне пришлось выбрать пару, я бы выбрал «Любопытно повторяющийся шаблон» или «Виртуальные конструкторы».

28
ответ дан 26 November 2019 в 20:12
поделиться

RAII, COW, pimpl, закон Деметра (не уверен, можно ли его классифицировать как идиому), черты типов и политики. (COW и закон Деметра, однако, не ограничиваются C ++)

5
ответ дан 26 November 2019 в 20:12
поделиться

PIMPL, он же P или IMPL ementation?

11
ответ дан 26 November 2019 в 20:12
поделиться

Метапрограммирование шаблона. Это здорово, потому что это в основном утиная типизация во время компиляции, поэтому вы получаете большую часть гибкости утиной печати со скоростью статической печати. ​​

8
ответ дан 26 November 2019 в 20:12
поделиться

Если вы хотите получить максимальную отдачу от STL, то итераторы и функторы / функциональные объекты являются важными идиомами. Использование итераторов также неявно полагается на идиому «полуоткрытый диапазон».

7
ответ дан 26 November 2019 в 20:12
поделиться

Безусловно, самый важный "шаблон", который нужно изучить и знать (почти) уникальный для C ++, - это RAII (получение ресурсов - это инициализация).

Изменить: (Чтобы ответить на дополнительный вопрос, отредактированный в вопросе). Вы используете RAII в первую очередь для (полу) автоматизации управления ресурсами. Наиболее очевидное использование - это освобождение ресурсов, принадлежащих объектам, когда объекты-владельцы выходят за пределы области видимости, например, освобождение памяти или закрытие файлов.

55
ответ дан 26 November 2019 в 20:12
поделиться

Использование строгого ввода и корректности const также чрезвычайно полезно.

Я также запрещаю конструкторы копирования по умолчанию и операторы присваивания. Я на самом деле выхожу за рамки этого, но это самые распространенные. Думаю, жизнь была бы легче, если бы они не были скрытыми.

6
ответ дан 26 November 2019 в 20:12
поделиться
Другие вопросы по тегам:

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