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

polevoi_cpp_2013_spring_lecture_05

.pdf
Скачиваний:
12
Добавлен:
20.04.2015
Размер:
121 Кб
Скачать
☆

Тип данных

•способ интерпретации объекта

•размер объекта

•набор допустимых операций

30.03.2013

41

Размер типа

•sizeof – оператор

•1 == sizeof(char)

•вычисляется для типа или объекта

пример:

T arr[SIZE] = {0};

size_t lenElements = sizeof(T) * SIZE; size_t lenElements = sizeof(&arr[0]) * SIZE; size_t lenArr == sizeof(arr));

30.03.2013

42

Неявные преобразования

•повышение

–bool -> int

–enum -> int или long

•обеспечение точности

–int + long

–int + double -> double

•усечение int n(f);

30.03.2013

43

Округление (примеры)

• до целого (с усечением)

пример:

int size(d);

• до ближайшего

пример:

int size(d + 0.5);

30.03.2013

44

Явные преобразования

static_cast<Тип>(выражение)

• преобразование родственных типов

пример:

int roundVal = static_cast<int>(doubleVal);

30.03.2013

45

Явные преобразования

const_cast<Тип>(выражение)

• изменение константности

пример:

char* pBeg = const_cast<char*>(p + n);

30.03.2013

46

Преобразования в стиле С

(Тип)выражение

Тип(выражение)

пример:

int roundVal = int(doubleVal + 0.5);

30.03.2013

47