data type
Főnév
data type (tsz. data types)
Adattípusok C++ nyelven
Bevezetés
A C++ egy erősen típusos nyelv, ami azt jelenti, hogy minden változónak van egy előre meghatározott típusa. Az adattípusok határozzák meg, hogy egy változó milyen értékeket vehet fel, és milyen műveleteket lehet vele végezni. Ebben a cikkben részletesen bemutatjuk a C++-ban elérhető adattípusokat.
1. Alapvető adattípusok
A C++ számos beépített adattípust tartalmaz, amelyeket változók deklarálására használhatunk.
Adattípus | Méret (általában) | Leírás |
---|---|---|
bool
|
1 byte | Logikai érték (true vagy false )
|
char
|
1 byte | Egyetlen karakter ('a' , 'b' , '1' )
|
int
|
4 byte | Egész számok (-2147483648 – 2147483647 )
|
float
|
4 byte | Lebegőpontos szám, kisebb pontossággal |
double
|
8 byte | Lebegőpontos szám, nagyobb pontossággal |
void
|
0 byte | Nem tárol adatot, függvények visszatérési típusa lehet |
wchar_t
|
2 vagy 4 byte | Széles karakterek Unicode támogatáshoz |
A méretek függhetnek a fordítótól és az architektúrától.
Példa alapvető adattípusokra
#include <iostream>
using namespace std;
int main() {
bool logikai = true;
char karakter = 'A';
int egesz = 100;
float lebego = 10.5;
double nagyobbLebego = 20.123456;
cout << "Logikai: " << logikai << endl;
cout << "Karakter: " << karakter << endl;
cout << "Egész szám: " << egesz << endl;
cout << "Lebegőpontos szám: " << lebego << endl;
cout << "Double szám: " << nagyobbLebego << endl;
return 0;
}
2. Egész típusok és módosítóik
Az int
típus további módosítókkal rendelkezik, amelyek befolyásolják a tárolható értékek tartományát.
Típus | Méret (általában) | Értéktartomány |
---|---|---|
short int
|
2 byte | -32,768 és 32,767 között |
int
|
4 byte | -2,147,483,648 és 2,147,483,647 között |
long int
|
4 vagy 8 byte | Nagyobb egész számok |
long long int
|
8 byte | Extra nagy egész számok |
A signed
és unsigned
módosítók meghatározzák, hogy a szám tartalmazhat-e negatív értékeket.
Típus | Értéktartomány |
---|---|
signed int
|
-2,147,483,648 és 2,147,483,647 között |
unsigned int
|
0 és 4,294,967,295 között |
Példa egész számokra
#include <iostream>
using namespace std;
int main() {
short int s = 32767;
unsigned int u = 4294967295;
cout << "Short int: " << s << endl;
cout << "Unsigned int: " << u << endl;
return 0;
}
3. Lebegőpontos típusok
A lebegőpontos számokat tizedes tört alakú számok tárolására használjuk.
Típus | Méret | Pontosság |
---|---|---|
float
|
4 byte | 6-7 tizedesjegy |
double
|
8 byte | 15-16 tizedesjegy |
long double
|
8-16 byte | 16+ tizedesjegy |
Példa lebegőpontos számokra
#include <iostream>
using namespace std;
int main() {
float pi = 3.14159;
double nagyPi = 3.141592653589793;
cout << "Float pi: " << pi << endl;
cout << "Double pi: " << nagyPi << endl;
return 0;
}
4. Karakter és string típusok
A karaktereket és szövegeket a char
és string
típusokkal lehet tárolni.
Karakter típus (char
)
char c = 'A';
Ez egyetlen karakter tárolására alkalmas.
String típus (std::string
)
A string
osztályt a <string>
fejléccel kell használni.
#include <iostream>
#include <string>
using namespace std;
int main() {
string nev = "John Doe";
cout << "Név: " << nev << endl;
return 0;
}
5. Speciális típusok
C++ támogat néhány speciális adattípust is.
Void típus (void
)
A void
azt jelenti, hogy egy függvény nem tér vissza értékkel:
void kiir() {
cout << "Ez egy void függvény." << endl;
}
Enum típus (enum
)
Az enum
segít felsorolásokat létrehozni.
enum Napok { Hetfo, Kedd, Szerda };
Napok ma = Kedd;
Struct és Union típusok
A struct
egy adattípus, amely több adatot tartalmazhat.
struct Ember {
string nev;
int kor;
};
Ember szemely = {"Anna", 25};
A union
hasonló a struct
-hoz, de egy időben csak egy változót tartalmazhat:
union Adat {
int egesz;
float lebego;
};
Adat ertek;
ertek.egesz = 10;
6. Auto, Typedef és Using
Auto típus
Az auto
segítségével a fordító automatikusan kitalálja a változó típusát:
auto x = 10; // int
auto y = 3.14; // double
Typedef és Using
A typedef
és using
segítségével új nevet adhatunk egy típusnak:
typedef unsigned int uint;
using uint = unsigned int;
uint szam = 100;
Összegzés
A C++ nyelv rengeteg adattípust kínál, amelyeket a programozók felhasználhatnak az adatok megfelelő tárolására és kezelésére. Az alábbiakat érdemes megjegyezni:
- Egész típusok:
int
,short
,long
,unsigned
- Lebegőpontos típusok:
float
,double
,long double
- Karakterek és szövegek:
char
,string
- Speciális típusok:
void
,enum
,struct
,union
- Modern C++ típusok:
auto
,using
A megfelelő adattípus kiválasztása segít a hatékony memóriahasználatban és a program teljesítményének optimalizálásában.