{"id":1082,"date":"2023-06-16T17:08:11","date_gmt":"2023-06-16T15:08:11","guid":{"rendered":"https:\/\/bitcamp.it\/blog\/?p=1082"},"modified":"2023-06-16T17:08:13","modified_gmt":"2023-06-16T15:08:13","slug":"casting","status":"publish","type":"post","link":"https:\/\/bitcamp.it\/blog\/glossario\/casting\/","title":{"rendered":"Casting"},"content":{"rendered":"\n<p>Il casting \u00e8 la <strong>conversione di un tipo di dati in un altro<\/strong>.<br><br>Permette di convertire i valori da un tipo a un altro in modo <strong>implicito<\/strong> o <strong>esplicito<\/strong>.<br>Parliamo di <strong>casting implicito<\/strong> quando la conversione automatica del tipo di dato \u00e8 effettuata da parte del compilatore C. Si verifica quando le variabili (operandi) dell&#8217;espressione sono dello stesso tipo.<br><br>Parliamo invece di <strong>casting esplicito<\/strong> quando la conversione \u00e8 definita dal programmatore che indica, in modo esplicito tra parentesi tonde, in quale formato dati deve essere il risultato nell&#8217;espressione.<br>Esistono vari tipi di conversione esplicita:<br>&#8211;<strong>controllata<\/strong>: prima dell&#8217;esecuzione della conversione a runtime, viene eseguito un controllo sulla validit\u00e0 della stessa. Se la conversione \u00e8 illegale, viene sollevato un errore.<br>&#8211;<strong>non controllata<\/strong>: non viene effettuato alcun controllo. Se il tipo di destinazione non pu\u00f2 contenere il valore convertito, il risultato \u00e8 indefinito.<br>&#8211;<strong>bit pattern<\/strong>: il dato non viene affatto interpretato, ma viene semplicemente copiata la sua rappresentazione binaria.<br><br>Ogni linguaggio di programmazione ha le proprie regole per le conversioni di tipo ma, in generale, essa \u00e8 ammessa per oggetti e tipi fondamentali.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il casting \u00e8 la conversione di un tipo di dati in un altro.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[22],"class_list":["post-1082","post","type-post","status-publish","format-standard","hentry","category-glossario","tag-c"],"_links":{"self":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/comments?post=1082"}],"version-history":[{"count":1,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1082\/revisions"}],"predecessor-version":[{"id":1083,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/posts\/1082\/revisions\/1083"}],"wp:attachment":[{"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/media?parent=1082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/categories?post=1082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitcamp.it\/blog\/wp-json\/wp\/v2\/tags?post=1082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}