.) cda[10];

cout « " struct cd[10] : " « sizeof(cda) « " элементов: " 1>« sizeof(cda)/sizeof(cda[0]) « endl;

char *cp = new char [10];

cout « " new char[10]: " « sizeof(cp) « " *cp: " 4>« sizeof(*cp) « endl;

}

Результатом работы программы будет следующий текст:

Результаты различных случаев применения операции sizeof.

char: 1

chars: 1

char*: 4 \

wchar_t: 2 • •

bool: 1

short: 2 ,

int: 4

long: 4

float: 4

double: 8

long double: 10

DIGIT: 4 Member: 4

char[10]: 10 элементов: 10

double[10]: 80 элементов: 10

struct cd[10]: 90 элементов: 10 new char[10]: 4 *cp: 1

Заметьте, что с помощью операции sizeof невозможно определить объем памяти, адресуемой с помощью указателя и выделенной с помощью операции new.

Далее...

В этой главе мы рассмотрели процесс создания операторов из элементарных компонентов, таких как переменные и операции. Операторы бывают четырех разновидностей: последовательные операторы, операторы выбора, операторы цикла и операторы перехода.

Последовательные операторы — это все операторы, которые не управляют процессом выполнения программы. Сюда можно отнести все операторы, не попадающие в другие категории.

Операторы выбора выполняют другие операторы в зависимости от определенных критериев. К ним принадлежат операторы if и switch.