Podwójny i pojedynczy podkreślnik.

0

Witam,
mam pytanie związane z prośbą wyjaśnienie to czego służą pojedyncze ' _ ' i podwójne ' __ ' podkreślniki, w przypadku zmiennych, liczb czy funkcji. Podam przykłady, z którymi się spotkałem

int _costam;
_1024 = 1042;

Podwójny pokreślnik parę razy kazał mi dodać kompilator VC, o ile pamiętam jak podałem ten podwójny to ten kod skompilował się jako native, ale nie wiem czy to ma związek, więc proszę o wyjaśnienie jeśli, źle myślę.

0

do niczego nie służą, po prostu od podkreślnika może zaczynać się nazwa zmiennej czy typu i można z tego skorzystać. Ponadto niektóre makra (zależne czy niezależne od kompilatora) zaczynają się od podwójnego podkreślnika ( ale też tylko dlatego, że mogą a nie dlatego, że podkreślnik dodaje jakieś super moce ;P ), nic poza tym.

0

To taka moda w C++ dodawania podkreślników przed czym i po czym popadnie, w środku nazw też.
W twoim przypadku zmienna nie może nazywać się 1024, ale może się nazywać _1024.
Jeśli już coś jest zdefiniowane z podkreślnikiem, to oczywiście musisz tak pisać. Ale to nie znaczy że ma on jakieś osobne znaczenie, jest po prostu jedną z "liter" nazwy.
Czasami tworzy się potworki dodając podkreślniki do już wcześniej istniejących nazw. Np. standard C++ każe pisać _getch() choć wcześniej stosowano getch(). To oczywiście dwie osobne funkcje (robiące to samo lub prawie to samo).

0

a możesz powiedzieć czy różni się _scanf() od scanf() lub te getchy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1