хвърли

От Seo Wiki - оптимизация за търсачки и програмните езици

Събирането тип (тип конверсия) - трансформация стойност на променлива от един вид в друг тип стойност. Разпределяне на явни и неявни конвертиране на типове.

  • Когато изрично се посочват видът на задействане на променливата, която искате да се превърне оригиналната стойност.
  • Когато имплицитно преобразуване преобразуване се извършва автоматично, в съответствие с правилата, установени в този език за програмиране.
  • Също така, на езика на специални функции за шофиране може да се настрои

Скритият тип

Излишно довеждане се появява както при променлива задача, и при операции за сравнение, оценка на експресията. Когато се използва в експресията на няколко различни вида на стойностите на един или повече подтипа превръщане може да се извърши в по-общ вид (подтип на), с голям диапазон от възможни стойности.

Всеки път, когато операцията извършване на сравнение или прехвърляне на различните видове променливи ще бъде отделено на един и същи модел. Тя трябва да се използва с повишено внимание имплицитно тип. Когато превода на броя на недвижими тип до цяло число, дробна част на гънките. Обратните задействане на цяло число с истинския сайт може да доведе и до намаляване на точност поради различните представителства на реални и цели числа на ниво машина. Например, един истински единен тип IEEE 754, не могат точно да представят броя 16777217, а 32-битов тип цяло число може. Това може да доведе до ситуации, при едно сравнение за равенство на един и същ номер, представени видове (инт и единични) ще даде фалшив резултат (номера не са равни помежду си).

Изрично тип

За изрично отливка на променлива, преди това трябва да бъде посочено в скоби ново име тип, например:

Int X; Int Y = 200; овъгляване С = 30; X = (междинно съединение) C * 10 + Y; // променлива С се намалява до тип Int.


Ако в този пример ще бъде изрично вида не е била изпълнена, компилаторът предполага, че изразът C * 10 + Y променлива X се очаква да бъде 640, но не и за правилното 3200. В резултат на променливата тип задействане C е призната от компилатора като 16-битов и грешка е описано по-горе не възниква.

В C ++,

В C ++ има четири вида гласове. Всички четири вида са написани като

Обемисти ключови думи са напомняне за програмист, че към актьорския състав е изпълнен с проблеми.

static_cast
  • Цел: typecast от обичайните правила, компилаторът отказва да го приведе автоматично (различни от тези в C (type_to) expression_from само, че стрелката не работи; reinterpret_cast използва за указатели). Тя се отнася за:
    • за цифров вид;
    • за указатели и препратки, когато превръщане на типа майка;
    • за тип конструктори или операции за преобразуване като type_to оператор;
    • шаблон - дори и при шаблон компилатор специализация решава кои операция да се използва;
    • в операцията. чиито после - и друг -част трябва да имат един и същи тип.
  • Ограничения за expression_from. не.
  • Ограничения за type_to. трябва да съществува начин да конвертирате type_to.
  • дали кода произвежда: по принцип, да.
  • Възможни грешки: относително безопасно. Логическите грешки са възможни, ако поставите в грешен тип или дори пропусна един призрак, когато това е необходимо. Възможно е, че ще има временен обект след преобразуване. които ще бъдат безопасно унищожени заедно с всички промени.
reinterpret_cast
  • Предназначение: Земя за съхранение се разглежда като обект на друг вид.
  • Ограничения за expression_from. неразделна тип (BOOL, знак, видове число) показалеца.
  • Ограничения за type_to. неразделна тип (BOOL, знак, видове число) показалеца.
  • дали кодът не произвежда.
  • Възможни грешки: Земя в действителност може да не са от този тип. Няма начин да го проверите, цялата отговорност за коректността на програмист преобразуване надделява.