Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для явного преобразования типов можно использовать приведение типов.
Синтаксис
cast-expression:
unary-expression
(
type-name
)
cast-expression
type-name:
specifier-qualifier-list
abstract-declarator
выбирать
Тип type-name и cast-expression является значением для преобразования в этот тип. Выражение с приведением типов не является l-значением. Преобразуется cast-expression , как если бы он был назначен переменной типа type-name. Правила преобразования назначений (описанные в преобразованиях назначений) применяются также к приведениям типов. В следующей таблице показаны типы, которые можно привести к любому заданному типу.
Приведение юридического типа
| Типы назначения | Потенциальные источники |
|---|---|
| Целочисленные типы | Любой целочисленный тип или тип с плавающей запятой или указатель на объект |
| Плавающая точка | Любой арифметический тип |
Указатель на объект или void * |
Любой целочисленный тип, void *указатель на объект или указатель функции |
| Указатель функции | Любой целочисленный тип, указатель на объект или указатель функции |
| Структура, объединение или массив | Отсутствует |
| Тип «void» | Любой тип |
Любой идентификатор можно привести к типу void . Однако если тип, указанный в выражении приведения типов, не voidявляется, то идентификатор, приводимый к такому типу, не может быть выражением void . Любое выражение может быть приведение voidк, но выражение типа void не может быть приведение к другому типу. Например, функция с void типом возвращаемого значения не может привести к другому типу.
Выражение void * имеет указатель voidтипа на , а не тип void. Если объект имеет void тип, результирующее выражение не может быть назначено любому элементу. Аналогичным образом объект типа-приведения не является допустимым l-значением, поэтому назначение не может быть сделано для объекта типа приведения.
Специфично для Microsoft
Приведение типа может быть выражением l-value, если размер идентификатора не изменяется. Сведения о выражениях l-value см. в разделе "L-Value" и "R-Value Expressions".
Конец раздела, относящегося к Microsoft
Выражение можно преобразовать в тип void с помощью приведения, но результирующее выражение можно использовать только в том случае, если значение не требуется. Указатель объекта, преобразованный в void * исходный тип и обратно, возвращается к исходному значению.