Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / Литература / Язык программирования С++. Краткий курс. Страуструп

.pdf
Скачиваний:
12
Добавлен:
16.07.2023
Размер:
31.34 Mб
Скачать

62.

63.

64.

65.

66.

 

 

 

16.5. Советы

313

В. Stroustrup, Н.

Sutter, and G. Dos

Reis: А brief introduction to

С++ s

model for

type-

and resource-safety.

Isocpp.org. October 2015. Revised

December

2015.

http://www. stroustrup. com/resource-model.

pdf.

 

 

 

 

А. Sutton and В.

Stroustrup: Design

of Concept Libraries for С++. Proc.

SLE 2011

(lnternational Conference

оп Software Language Engineering).

July 2011.

 

 

 

 

ISO SC22/WG21 The С++ Programming Language Standards Committee:

Document Archive. www.open-std.org/jtcl/sc22/wg21.

 

Anthony Williams: С++ Concurrency in Action - Practica/ Multithreading.

Manning PuЫications Со. ISBN 978-1933988771.

 

Р. М. Woodward and S. G. Bond: Algo/ 68-R Users Guide. Her Majesty's

Stationery Office. London. 1974.

 

 

16.5.

Советы

[1] [2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

Язык программирования С++ определен в стандарте ISO С++ [1 О].

При выборе стиля для нового проекта или

модернизации старого кода

опирайтесь на

С++ Core Guidelines; § 16.1.4.

 

 

 

 

При изучении

С++ не сосредоточивайтесь на изолированных

языковых

возможностях; §16.2.1.

 

 

 

 

 

Не зацикливайтесь на старых возможностях языка

и методах

проекти­

рования; §16.1.4.

 

 

 

 

 

 

Прежде чем использовать новую функциональную

возможность в про­

изводственном

 

коде,

испытайте ее,

написав

небольшие

программы для

тестирования

производительности

и соответствия стандартам реализа­

ций, которые

вы планируете использовать.

 

 

 

 

При изучении С++ используйте самую современную и полную реализа­

цию стандарта

 

С++, к которой вы можете получить

досrуп.

 

Общее подмножество С и С++ не является наилучшим

начальным под­

множеством С++ для

изучения; § 16.3.2.1.

 

 

 

 

Предпочитайте

именованные приведения,

такие

как

static_ cast,

приведениям

в

стиле

С; §16.2.7.

 

 

 

 

 

При преобразовании

программы на языке С

в программу на языке С++

сначала убедитесь в

последовательном, согласованном

использовании

объявлений функций

(прототипов)

и стандартных

заголовочных фай­

лов; §16.3.2.

 

 

 

 

 

 

 

 

 

318

Предметный указатель

Inpt1tRange 225

 

 

Integral

222

 

 

InvocaЫe 224

 

 

InvocaЬ!eRegular 224

 

 

lterator

224

 

 

MergeaЬ!e 225

 

 

МоvаЫе

223

 

 

MoveConstructiЬle 223

 

Outputlterator 224

 

 

OutputRange 226

 

 

PermutaЬ!e 225

 

 

Predicate 224

 

 

RandomAccesslterator

225

 

RandomAccessRange

226

 

Range 222, 225

 

 

Regular

223

 

 

Relation

224

 

 

Same 222

 

 

Semiregular 223

 

 

Sentine\

224

 

 

Signedlntegral 222

 

 

SizedRange 225

 

 

SizedSentinel 224

 

 

SortaЫe

225

 

 

StrictТotallyOrdered 223

 

StrictТotallyOrderedWith 223

 

StrictWeakOrder 224

 

 

SwappaЫe 222

 

 

SwappaЬ!eWith 222

 

 

Unsignedlntegral 222

 

 

View 225

 

 

WeaklyEqualityComparaЫe 223

WeaklyEqualityComparaЬ!eWith 223

концепты сравнений

223

 

определение 141

 

 

фундаментальные концепты

222

Куча 42

 

 

 

л

 

 

 

Литерал

 

 

 

пользовательский 113

 

строковый необработанный

165

Лямбда-выражение 127

 

auto 128

 

 

обобщенное 128

 

 

список

захвата 127

 

 

м

 

 

 

 

 

 

Массив

29, 36

 

 

 

ассоциативный 202

 

 

Метапрограммирование

253

Модуль

55

 

 

 

 

Мьютекс 276

 

 

 

 

н

 

 

 

 

 

 

Наследование 86

 

 

 

интерфейса

92

 

 

 

множественное 293

 

реализации

92

 

 

 

о

 

 

 

 

 

 

Область видимости

26

 

класса

27

 

 

 

 

локальная 26

 

 

 

пространства имен

27

 

Обработка ошибок

58

 

восстановление 65

 

 

код ошибки

63

 

 

 

Объединение

46

 

 

 

Объект

23

 

 

 

 

стратегии 126

 

 

 

функциональный

125, 252

Объявление 22

 

 

 

в

условии if

35

 

 

 

Оператор

 

 

 

 

«

112, 176

 

 

 

 

»

112, 178

 

 

 

 

delete

27, 43

 

 

 

 

delete[] 81

 

 

 

 

new 27

 

 

 

 

new[]

81

 

 

 

 

sizeof

253

 

 

 

 

арифметический

24

 

ввода

33

 

 

 

 

вывода

33

 

 

вызова

функции

125

декларатора

31

 

литеральный

113

 

логический 24

 

присваивания 25

 

сравнения 24

 

Оптимизация

коротких

строк

162