Wpis z mikrobloga

Wytłumaczy mi ktos, czemu wielu programistów w #cpp
pisze na zasadzie "std::cout << x;" i w kazdej linii kodu musi powtarzac "std::"
zamiast na poczatku napisac using namespace std;?
Pytam calkowicie powaznie
#naukaprogramowania #programowanie
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Niels: Kwestia stylu. "using namespace std" jest postrzegane jako zły styl, ponieważ wprowadzasz ogromną liczbę nazw funkcji i typów do ogólnej przestrzeni, co łatwo może prowadzić do konfliktów (nie zliczę ile bibliotek definiuje typy o podobnych nazwach, np. pair). Bezpieczniejszym rozwiązaniem jest "using std::cout".

Osobiście unikam tego i preferuję styl, w którym kod automatycznie wyjaśnia jakiej biblioteki używasz w danym momencie. cout to dość trywialny przykład, ale jest masa mniej
  • Odpowiedz
@Niels: @janpostal:

ten wątek na stacku jest dobry, ale zaakceptowana odpowiedź jest kiepska.

1)
Rzeczywiście, może się tak zdarzyć, że gdy masz using namespace dwóch różnych przestrzeni nazw, to jedna przesłoni ci drugą. Musisz jednak mieć przy tym trochę pecha, bo obie funckje muszą dać się wywołać w taki sposób, w jaki ty wywołujesz jedną z nich. Co
  • Odpowiedz