Typy danych w C++
14 July 2008
Comments
W C++ obowiązuje ścisła kontrola typu danych. Wszystkie zmienne występujące w programie muszą być najpierw zdefiniowane. Każdy typ danych ma określony rozmiar w bajtach (nie ma to "nic" wspólnego z maksymalnym rozmiarem np. łańcucha). By sprawdzić jaką długość mają różne typy danych skompiluj i wykonaj:
#include<iostream>
#include<string>
using namespace std;
int main()
{
long double ld = 0;
string st = "Ba bla bla bbbb";
short sh = 0;
long *lo = 0;
cout << "Long Double: " << sizeof(ld) << endl
<< "Double: " << sizeof(double) << endl
<< "Float: " << sizeof(float) << endl
<< "Long Long: " << sizeof(long long) << endl
<< "Long: " << sizeof(long) << endl
<< "Int: " << sizeof(int) << endl
<< "Short: " << sizeof(short) << endl
<< "Char: " << sizeof(char) << endl
<< "Bool: " << sizeof(bool) << endl
<< "String: " << sizeof(string) << endl
<< "long*: " << sizeof(lo) << endl;
return 0;
}
Long Double: 12 Double: 8 Float: 4 Long Long: 8 Long: 4 Int: 4 Short: 2 Char: 1 Bool: 1 String: 4 long*: 4
Typy zmiennoprzecinkowe: to float, double i long double. Zmienne typu float są rzadko a przy operacjach arytmetycznych i tak przekształcane są na zmienne typu double.
Typ logiczny: jest to typ bool mogący przechowywać wartości prawda/fałsz. Wartość 0 to fałsz a dowolna inna to prawda.
Wyliczenia, enumeracje: Zmienne przypisane do typu wyliczeniowego będą mogły przyjmować jedynie wartości przewidziane przez wyliczenie. Wyliczenie to zbiór stałych, które mogą być parametrem zmiennej skojarzonej z wyliczeniem.:
#include<iostream>
#include<string>
using namespace std;
enum dni { pon, wto, sro };
void info(dni wpisany_dzien)
{
cout << wpisany_dzien << endl;
}
int main()
{
info(wto);
}
Wskaźniki: wskaźnik danego typu, np. double może wskazywać adresy istniejących zmiennych tego samego typu:
#include<iostream>
#include<string>
using namespace std;
int main()
{
double x = 2;
double *y;
y = &x
cout << y << endl;
cout << *y << endl;
}
Referencje, odnośniki: są to "zmienne" będące aliasami istniejących zmiennych o określonym typie.
int k = 5; int &referer = k;
RkBlog
Comment article