Edytujesz „C++”

Z Nonsensopedii, polskiej encyklopedii humoru

Uwaga: Nie jesteś zalogowany. Jeśli wykonasz jakąkolwiek zmianę, Twój adres IP będzie widoczny publicznie. Jeśli zalogujesz się lub utworzysz konto, Twoje zmiany zostaną przypisane do konta, wraz z innymi korzyściami.

Ta edycja może zostać anulowana. Porównaj ukazane poniżej różnice między wersjami, a następnie zapisz zmiany.

Aktualna wersja Twój tekst
Linia 85: Linia 85:
}
}
</syntaxhighlight>
</syntaxhighlight>

=== Czystość funkcji ===

Funkcje w C++ mogą być brudne (i nie za bardzo da się je umyć). Na przykład ta sama funkcja wywołana z tymi samymi argumentami dwa razy może dawać różne wyniki. Dotyczy to w sumie każdego języka niebędącego tworem czysto funkcyjnym, ale w C++ jest szczególnie uciążliwe, gdyż cały brud można schować do środka takiej funkcji i nikt się niczego nie dowie (zwłaszcza jeśli taka cudowna funkcja będzie częścią jakiejś DLL-ki). Na przykład można zrobić to tak:

<source lang="cpp">#include <iostream>

int foo()
{
static int c=0;
return c++;
}

int main()
{
int first=foo();
int second=foo();
std::cout<<first<<"!="<<second<<'\n';
}</source>


=== Znane stwierdzenia ===
=== Znane stwierdzenia ===
Cc-white.svg Wszystko, co napiszesz na Nonsensopedii, zgadzasz się udostępnić na licencji cc-by-sa-3.0 i poddać moderacji.
NIE UŻYWAJ BEZ POZWOLENIA MATERIAŁÓW OBJĘTYCH PRAWEM AUTORSKIM!
Anuluj Pomoc w edycji (otwiera się w nowym oknie)