Компилированное преобразование данных в с++

Решил немного поговорить о типах данных в с++. Точнее о том, что программисты бывают разные, а точно указывать типы и преобразования типов в современных языках программирования порой понимают не все.

В связи с этим я нашел немного информации и решил поделиться с вами. Итак, при вычислении выражений в с++, в которые входят разные типы (точнее данные разных типов), компилятор может попытаться автоматически преобразовать по этим правилам:

  • типы int и char могут свободно смешиваться в арифметических выражениях. Переменная типа Char будет приведена в int, но в том случае, если в Char — число;
  • к арифметическим операциям применяются правила: short в int, float в double, int в long и так далее;
  • при присвоении тип значения справа будет преобразован влево. Например: слева — int, справа — float, то преобразуется в int;
  • любое выражение может быть приведено к желаемому типу принудительно (не автоматически), если использовать конструкцию вида:
    (имя типа) <выражение>. Такие преобразования называют кастингом. По сути, можно пользоваться функцией malloc, которая выделяет количество байтов памяти и возвращает адрес, но в этом адресе неопределенный тип. Например: (char*)malloc(число).
1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий