C ++ оператор приведения
Оператор литая это специальный оператор, который преобразует тип данных в другой тип данных. Оператор броска является унарный оператор, его приоритеты и другие унарными то же самое.
Большинство компиляторов C ++ поддерживает наиболее распространенные оператор приведения:
(type) expression
Здесь тип представляет собой тип данных после преобразования. Вот несколько иная поддержка C ++ оператор В ролях:
const_cast <тип> (выражение): const_cast оператор используется для изменения типа сопз / летучего свойства.В дополнение к константный или летучих атрибутов, мишень должна быть такого же типа, как тип источника. Этот тип преобразования используется в основном для передачи атрибутов объекта операции Const, вы можете добавить сопзЬ атрибуты должны быть удалены константный атрибут.
dynamic_cast <тип> (выражение): dynamic_cast выполняется во время выполнения , чтобы преобразовать, проверить правильность преобразования.Если преобразование не выполняется, то преобразование не удалось, выражение выраж определяется как нуль. Когда dynamic_cast выполнить динамическое преобразование, тип должен быть указателем класс или тип ссылки недействительным *, если тип является типом указателя класса, то выражение должно быть указателем, если тип является ссылкой, что выражение должно также быть ссылки.
reinterpret_cast <тип> (выражение): reinterpret_cast оператор на указатель на какой - либо другой тип указателя.Это может быть указателем на целое число, вы можете поместить целое число в указатель.
static_cast <тип> (выражение): static_cast оператор выполняет нединамическое преобразование, проверки класса , чтобы обеспечить безопасность преобразования не работает.Например, он может быть использован для преобразования указателя базового класса к производному указатель класса.
Все вышеперечисленное оператора отлитого в использовании классов и объектов будут использоваться. Теперь рассмотрим следующие примеры, чтобы понять, как использовать C ++, простой оператор приведения. Скопируйте и вставьте следующую программу C ++ для test.cpp файл, скомпилировать и запустить программу.
#include <iostream> using namespace std; main() { double a = 21.09399; float b = 10.20; int c ; c = (int) a; cout << "Line 1 - Value of (int)a is :" << c << endl ; c = (int) b; cout << "Line 2 - Value of (int)b is :" << c << endl ; return 0; }
Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:
Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10