C++/Różnice między C a C++: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
m Wycofano edycje użytkownika Mariusz16 (dyskusja). Autor przywróconej wersji to Adam majewski. |
→Funkcje: poprawka czytelności |
||
Linia 54:
=== Funkcje ===
W języku C pusta lista argumentów: <tt>funkcja()</tt> oznacza, że prototyp nie precyzuje argumentów przyjmowanych przez funkcję, natomiast deklaracja
W języku C++
▲W języku C pusta lista argumentów: () oznacza, że prototyp nie precyzuje argumentów przyjmowanych przez funkcję, natomiast deklaracja '''funkcja(void)''' oznacza, że funkcja nie przyjmuje argumentów. W języku C++ puste nawiasy są tożsame z (void).
▲W języku C++ można jednak uzyskać ten sam efekt, co puste nawiasy w C poprzez '''(...)''', czyli [[Programowanie:C:Funkcje#Zmienna liczba parametrów|zmienną listę argumentów]], ale bez określania argumentów początkowych (to z kolei nie jest dostępne w języku C).
Należy zwrócić szczególną uwagę, że jest to w istocie dość uciążliwe ułatwienie, że () jest tożsame z (void). W konsekwencji bowiem o ile wyrażenie '''(a)''' (gdzie 'a' jest jakąś zmienną) można odróżnić od nazwy typu w nawiasach, np. '''(int)''', to w przypadku () jest to nie do odróżnienia. Stąd mała niekonsekwencja w deklarowaniu obiektów wraz z argumentami konstruktora:
|