C++ Lezione 11: il typecasting
Dichiaratamente, il typecasting non rappresenta una parte grandissima della programmazione in C o C++. Comunque, ci sono volte in cui è la via migliore, se non la sola, per portare a termine qualcosa. Il typecasting è fondamentalmente il modo di cambiare una variabile di un tipo, diciamo un int, in un altro tipo, un char, per uno scopo specifico.
Il typecasts è come un tipo di dato, ad esempio int, tra due parentesi tonde.
(char)aninteger viene interpretato come un carattere per scopi della funzione.
Per esempio:
#include <iostream.h> //Per cout
void main()
{
cout<<(char)65; //Il (char) è un type cast, che dice al computer
//di interpretare il 64 come un
//carattere, non come un numero. Restituirà il carattere ASCII
//equivalente al numero 64 (dovrebbe essere la lettera A).
}
Un utilizzo del typecasting è quando si vogliono usare i caratteri ASCII. per esempio, se volete crearvi la vostra propria tabella dei 255 caratteri ASCII. Per farlo, avrete bisogno di utilizzare un typecast per permettere di riprodurre l'integer come un carattere.
#include <iostream.h>
#include <conio.h>
void main()
{
for(int x=1; x<256; x++) //Il set di caratteri ASCII va da 1 a 255
{
cout<<x<<". "<<(char)x<<" "; //Notare l'uso della versione int di x per
//restituire un numero
//e l'uso di (char) per fare il typecast di x in un carattere
//che restituisce il carattere ASCII che corrisponde
//al numero corrente
}
getch();
}
Potete fare una versione di questo programma che permetta all'utente di inserire un numero, e il programma restituisca il carattere corrispondente al numero.
Il typecasting è più utile di questo, ma era solo una introduzione. Dichiaratamente, non è la lezione più avanzata, ma una che, ciò nonostante, potrebbe essere molto utile.
---
Nota: La mia homepage è http://www.cprogramming.com. La mia email è webmaster@cprogramming.com. Vi prego di mandarmi una email con commenti e/o suggerimenti. Se volete usare questo tutorial nel vostro sito, vi prego di mandarmi una email e dia aggiungere un link a http://www.cprogramming.com.
Grazie :)