Преобразования типов: в стиле Си, статические, константные, произ­вольные.

Синтаксис приведения типов данных согласно Си­-стилю: (type) val , где type — тип данных к которому преобразуется значение val. Cи-­стиль приведения типов данных может быть использован для преобразования любого типа в любой другой тип.

Статические преобразования типов: типы, к которым применим static_cast :

  • числовые
  • типы, связанные наследованием
  • пользовательские преобразования
  • к void

Рекомендуется пользоваться операцией static_cast, нежели Cи-­стилем приведения, потому что он ограничивает недопустимое приведение типов и, следовательно, безопаснее. Общий вид статического преобразования типа: static_cast< type >(value);

Константные преобразования типов: операция const_cast доступна только в C++. Константное приведение используются, чтобы константную переменную преобразовать в неконстантную. При этом, константным становится возвращаемое значение операции const_cast, а не сама переменная. Пример: const_cast< type >(val);

Произвольные преобразования типов: операция reinterpret_cast доступна только в C++ и является наименее безопасной формой приведения типов данных в С++, она позволяет интерпретировать значение в другой тип данных. reinterpret_cast не должна быть использована для приведения иерархии классов или преобразования константных переменных. reinterpret_cast< dataType >( value ); Рассмотрим пример использования этой операции приведения, например, чтобы преобразовать целое значение в указатель, нужно написать следующее: reinterpret_cast < int* >(777);

results matching ""

    No results matching ""