Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_ekzamen_CPP.doc
Скачиваний:
36
Добавлен:
21.09.2019
Размер:
311.81 Кб
Скачать
  1. Битовые поля.

Битовым полем называется элемент структуры или объединения, который определяет последовательность бит и описывается следующим образом:

Тип [имя_поля]: длина_в_битах;

Тип принимает одно из значений int, signed, unsigned. Длина в битах должна быть неотрицательным целым числом.

struct demo

{int count;

unsigned b 1:1

unsigned b 2:1

doule d;

};

Можно объявить и проинициализировать:

demo e = {10, 1, 0, 10.5};

Используются битовые поля для установки различных флагов.

Доступ к элементам битового поля осуществляется также, как и к остальным членам структуры – через оператор точку: e.b1 = 0;

  1. Тип данных bool. Тип данных wchar_t.

Переменная типа bool может принимать одно из значений: true или false.

bool b = true;

Объекты типа bool неявно преобразуются в объекты типа int. Соответственно: false – в 0, true – в 1. аналогично любое целое значение может быть преобразовано в тип bool:

bool b;

b = 0;

b = (bool) 10;

Тип данных wchar_t.

Этот тип данных был добавлен совсем недавно. Для хранения значений этого типа используется 2 байта. В зависимости от реализации этот тип может быть со знаком или без знака: 0 ÷ 65535.

Этот тип данных используется для хранения символов, задаваемых спецификацией UNICOD, которая содержит символы национальных алфавитов и под каждый символ отводится 2 байта.

Широкие символьные константы определяются следующим образом:

L ‘ ’ – перед символом.

Можно задавать и символы стандартной таблицы:

wchar_t w = L ‘s’;

Строка состоит из широких символов, задаётся следующим образом: берётся в двойные кавычки, перед которыми ставится L:

wchar_t ws = L “stroka”;

  1. Способы передачи параметров в подпрограммы.

Подпрограммой называются функции.

Существует 3 способа передачи параметра в подпрограммы:

    1. по значению;

    2. по адресу;

    3. по ссылке;

В 1-м случае в локальные параметры подпрограммы копируются значения фактических параметров. Поэтому любое изменение этих значений в подпрограмме не влияет на значение переменных в вызывающей программе:

int func (int a)

{a++;

return a;

}

void main ()

{int a, b;

a=5;

b = func (a); //func (5)

}

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

Например, необходимо написать функцию, которая одновременно вычисляет и количество цифр в числе, и сумму цифр.

Массивы и строки в подпрограммы всегда передаются по адресу и никогда по значению.

Передача параметров по ссылке.

Ссылкой называется указатель на переменную или константу, который всегда разыменовывается при его использовании.

Для объявления переменной типа ссылка используется символ &, который записывается перед именем переменной. Если ссылка используется как самостоятельный объект, то она должна быть инициализирована константой или переменной при своём определении. В 1-м случае ссылка называется константной, во 2-м – псевдонимом переменной.

После инициализации ссылка не может быть изменена. Со ссылкой на объект можно производить те же действия, что и с объектом, на который она ссылается.

const int n = 10; //ссылка на константу

const int &rn = n; //ссылка на переменную

Определяем ссылку на переменную:

int m = 2;

int &rm = m;

rn = 20;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]