Введение в программирование

       

Преобразование типов в языке C++


Язык C++ позволяет выполнять преобразование значения одного типа в значение другого типа. Преобразование типа может быть явным и неявным. Явное преобразование называется приведением типов.

Для явного приведения типов можно использовать две формы записи:

  • без указания дополнительной информации для преобразования типа (перед преобразуемой переменной в скобках указывается имя типа, к которому она приводится).

    Например:

    std::cout <<"strlen="<<(long)strlen(pArr1);

  • с указанием дополнительной информации для преобразования типа (используются операторы static_cast, dynamic_cast, reinterpret_cast и const_cast).

    Например:

    std::cout <<"strlen="<<static_cast<long>( strlen(pArr2));

Вторая форма явного преобразования типов более предпочтительна, поскольку несет в себе дополнительную информацию, позволяющую сократить число возможных ошибок.

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

  • static_cast - выполняет преобразование родственных типов;
  • const_cast - выполняет приведение константных выражений;
  • dynamic_cast - используется для динамического преобразования типа, реализуемого на этапе выполнения;
  • reinterpret_cast - выполняет преобразование не связанных между собой типов.

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



Содержание раздела