Vlastné typy premenných

V C++ si môžte vyrábať vlastné typy premenných. Napríklad, ak vás nebaví písať veľakrát long long, ale radšej by ste písali ll:

typedef long long ll;
int main(){
    ll a;
}

Alebo ste zistili, že existujú dvojice ­— tie nájdete v knižnici algorihtm a volajú sa pair. Dvojica intov je pair<int, int>, trojica charu intu a charu je napríklad pair<char, pair<int, char>>. A to už je celkom dlhý výraz na písanie, takže je fajn použiť:

typedef pair<int, int> pii;
typedef pair<int, char> pic;
typedef pair<char, pic> pcic;

int main() {
    // takto sa dvojice vyrabaju
    pii dvainty = pii(7, 8);

    // alebo takto
    pic intaznak = make_pair(10, 'a');

    // da sa aj kombinovat
    pcic troica = make_pair('b', pic(11, 'c'));

    // takto sa pristupuje ku prvkom
    dvainty.second = intaznak.first;
    troica.second.first = dvainty.second;
    intaznak = troica.second;

    //teraz si predstavte, ake by to bolo neprehladne bez typedefu
}

Dajú sa vyrábať aj zložitejšie štruktúry pomocou struct. Tu je jednoduchý príklad, keď chcete vedieť viac, trocha pogooglite. Všimnite si, že za definíciu struct sa píše bodkočiarka.

struct Stvorica {
    int a, b, c, d;
    char e, f;
};

int main() {
    Stvorica s;
    s.a = 7;
    s.b = s.a + 8;
    s.e = s.f = '.';
}