1
Как правило, но, вообще говоря, это выполняется не всегда.
2
В С++ отнюдь не запрещается использование символов в верхнем регистре — просто язык чувствителен к регистру, а это значит, что int main и Int Main, например, означают совершенно разные вещи.
3
К сожалению, недостаточно полная, и только на английском языке.
4
Имя может также начинаться с символа подчёркивания, хотя на практике это используется довольно редко.
5
Эта величина опять-таки существенно зависит от типа разрабатываемой программы.
6
Вообще говоря, диапазон значений типа int определяется множеством факторов — в первую очередь компилятором, на выбор типа int которого оказывает огромное влияние тип компьютера, поэтому считать определённым раз и навсегда, что диапазон значений int простирается от -2>32 до +2>32-1, нельзя.
7
Это не означает, будто тип double может представить 10>38 разных значений; вспомните, что говорилось выше о количестве разрядов в числах этого типа.
8
В качестве ещё одной ремарки: операторы сравнения вообще достаточно взаимозаменяемы. Так, например, ( a == b ) эквивалентно ( ! ( a>b )&&! ( a.
9
Более того, в данном случае это не красивое слово, а строгий математический термин.
10
Что и было сделано у некоторых народов, например у майя или чукчей.
11
Увеличение в данном случае — достаточно условное название. Чаще всего здесь действительно выполняется увеличение счётчика цикла, однако это может быть любая инструкция С++, в том числе и пустая.
12
Более того, как вы узнаете позже, тела функции в данном модуле может и не оказаться.
13
Размер указателя зависит не только от типа процессора, но и от операционной системы, используемого компилятора и так называемой модели памяти создаваемой программы.
14
Это сделано некорректно; как минимум член valFriend не может быть определён в классе того же типа, не считая массы других ошибок. Поэтому к данному примеру следует относиться как к не более чем поясняющей сугубо теоретической модели, которая никогда не будет даже скомпилирована.
15
Вообще говоря, это зависит от используемого компилятора. Так, тот же Dev-C++ вызовет данную функцию, в чём легко убедиться, скомпилировав и выполнив приведённый пример ( дополнив его, естественно, функцией main( ), в которой вызывается fn( ) ).
16
Ещё одно замечание: в этом случае вы должны позаботиться о том, чтобы счётчик увеличивался во всех конструкторах, включая конструктор копирования.
17
Вообще говоря, чисто виртуальная функция может иметь тело, но обсуждение этого вопроса выходит за рамки данной книги.
18
В определении тела защищённых конструктора копирования и оператора присвоения нет необходимости, поскольку они никогда не будут вызываться. Таким образом, вы можете просто указать их в защищённой части объявления класса, никак их не реализуя.