Ugrás a tartalomhoz

data type

A Wikiszótárból, a nyitott szótárból

Főnév

data type (tsz. data types)

  1. (informatika) adattípus

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 (-21474836482147483647)
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.