Стандарты программирования на С++


Содержание


Обсуждение - часть 2
Примеры
Ссылки
36. Предпочитайте предоставление абстрактных интерфейсовРезюме
Обсуждение
Обсуждение - часть 2
Примеры
Исключения
Ссылки
37. Открытое наследование означает
Обсуждение
Обсуждение - часть 2
Исключения
Ссылки
38. Практикуйте безопасное перекрытиеРезюме
Обсуждение
Обсуждение - часть 2
Примеры
Ссылки
39. Виртуальные функции стоит делать неоткрытыми, а открытые — невиртуальнымиРезюме
Обсуждение
Обсуждение - часть 2
Исключения
Ссылки
40. Избегайте возможностей неявного преобразования типовРезюме
Обсуждение
Примеры
Исключения
Ссылки
41. Делайте данные-члены закрытыми (кроме случая агрегатов в стиле структур C)Резюме
Обсуждение
Примеры
Исключения
Ссылки
42. Не допускайте вмешательства во внутренние делаРезюме
Обсуждение
Обсуждение - часть 2
Исключения
Ссылки
43. Разумно пользуйтесь идиомой PimplРезюме
Обсуждение
Обсуждение - часть 2
Обсуждение - часть 3
Исключения
Ссылки
44. Предпочитайте функции, которые не являются ни членами, ни друзьямиРезюме
Обсуждение
Примеры
Ссылки
45. New и delete всегда должны разрабатываться вместеРезюме
Обсуждение
Обсуждение - часть 2
Исключения
Ссылки
46. При наличии пользовательского
Обсуждение
Обсуждение - часть 2
Ссылки
Конструкторы, деструкторы и копирование
47. Определяйте и инициализируйте переменные-члены в одном порядкеРезюме
Обсуждение
Ссылки
48. В конструкторах предпочитайте инициализацию присваиваниюРезюме
Обсуждение
Исключения
Ссылки
49. Избегайте вызовов виртуальных функций в конструкторах и деструкторахРезюме
Обсуждение
Примеры
Ссылки
50. Делайте деструкторы базовых
Обсуждение
Примеры
Исключения
Ссылки
51. Деструкторы, функции освобождения ресурсов и обмена не ошибаютсяРезюме
Обсуждение
Обсуждение - часть 2
Ссылки
52. Копируйте и ликвидируйте согласованноРезюме
Обсуждение
Исключения
Ссылки
53. Явно разрешайте или запрещайте копированиеРезюме
Обсуждение
Ссылки
54. Избегайте срезки. Подумайте
Обсуждение
Обсуждение - часть 2
Исключения
Ссылки
55. Предпочитайте канонический вид присваиванияРезюме
Обсуждение
Ссылки
56. Обеспечьте бессбойную функцию обменаРезюме
Обсуждение
Исключения
Ссылки
Пространства имен и модули
57. Храните типы и их свободный интерфейс в одном пространстве именРезюме
Обсуждение
Примеры
Ссылки
58. Храните типы и функции в разных
Обсуждение
Обсуждение - часть 2
Ссылки
59. Не используйте using для пространств
Обсуждение
Обсуждение - часть 2
Обсуждение - часть 3
Исключения
Ссылки
60. Избегайте выделения и освобождения памяти в разных модуляхРезюме
Обсуждение
61. Не определяйте в заголовочном файле объекты со связываниемРезюме
Обсуждение
Исключения
Ссылки
62. Не позволяйте исключениям пересекать границы модулейРезюме
Обсуждение
Обсуждение - часть 2
Ссылки
63. Используйте достаточно переносимые типы в интерфейсах модулейРезюме
Обсуждение
Обсуждение - часть 2
Примеры
Ссылки
Шаблоны и обобщенность
64. Разумно сочетайте статический и динамический полиморфизмРезюме
Обсуждение
Обсуждение - часть 2
Обсуждение - часть 3
Ссылки
65. Выполняйте настройку явно и преднамеренноРезюме
Обсуждение
Обсуждение - часть 2
Обсуждение - часть 3
Обсуждение - часть 4
Обсуждение - часть 5
Ссылки
66. Не специализируйте шаблоны функцийРезюме
Обсуждение
Примеры
Ссылки
67. Пишите максимально обобщенный кодРезюме
Обсуждение
Исключения
Ссылки
Обработка ошибок и исключения
68. Широко применяйте assert для документирования внутренних допущений и инвариантовРезюме
Обсуждение
Обсуждение - часть 2
Примеры
Ссылки
69. Определите разумную стратегию обработки ошибок и строго ей следуйтеРезюме
Обсуждение
Ссылки
70. Отличайте ошибки от ситуаций, не являющихся ошибкамиРезюме
Обсуждение



Начало    



Книжный магазин