Wpis z mikrobloga

@bubuch: To prawda.

Przykładowo jak masz vector, to nie wiesz czy to jest boost::vector czy std::vector.
Wyłączasz też wtedy ADL w pewnym sensie.

Ogólnie przyjmuje się, że "using namespace" jeżeli jest użyty z lenistwa to raczej jest to zła praktyka.
Wyjątkiem od tej reguły może być prosty program na 100 linii, gdzie masz same couty.
@bubuch Zła, bo nie odróżniasz wtedy calli z biblioteki standardowej od zwykłych funkcji. Dorzuć do programu jeszcze kilka bibliotek C i masz przepis na katastrofę.
via Wykop Mobilny (Android)
  • 0
@bubuch: zawsze przy próbie nauki wydawało mi się to powalone w cpp że jest cout zamiast print jak w większości i to jeszcze dopisywanie std ( ͡° ʖ̯ ͡°)
@patrolez: Nie no, widze że cIN ma in, a cOUT ma out. Chodzi o to że w wielu innych językasz ma po prostu print, a tutaj musis jeszcze wpisywać std:: i pamiętac o <<. Nie umiem programować w cpp, ale jak próbowałam się kiedyś tego uczyć to wydawało mi się to irytujące.
@Katiee: A drukujesz coś, że ma być print? std::cout to przekierowanie strumienia na wyjście standardowe wprowadzone przez Unix i nazwa jest zgodna z nomenklaturą wprowadzoną przez ten system. Wyjście standardowe nie musi być przekierowane na terminal, strumień może trafiać do pliku, albo na wejście do innego procesu.

Inne języki, zwłaszcza obiektowe również używają przestrzeni nazw. Skoro wydawało się irytujące to szkoda, że zabrakło determinacji do poznania przyczyny. ;)
@Malkof @SpinOff @tomekb1999 @Katiee @patrolez @Tytanowy
Dziękuję za odpowiedzi dopiero rozpoczynam naukę c++ czy to dla mnie to nie wiem tym bardziej, że nie mam nic wspólnego z programowaniem a nawet branżą IT. A pytanie zadałem gdyż w jednym poradniku było z "using name space std" a w drugim poradniku usłyszałem że to bardzo zła praktyka i teraz nie bardzo wiem czy w poradniku w którym widnieje na początku "using name space
@bubuch To czy w jakimś poradniku kawałek kodu ma using namespace, a to czy to zła praktyka, to dwie różne rzeczy. Ta instrukcja jest przydatna dla początkujących, żeby nie musieli zaprzątać sobie głowy przestrzeniami nazw.
Czasem zła - czasem dobra - zależy co robisz. Jak pisali poprzednicy: czasem możesz doprowadzić do konfliktu przestrzeni nazw - a z drugiej strony możesz nieptrzebnie zaciemiać kod. Osobiście nigdy nie używam "using namespace" do std, ale przy własnych klasach mi się zdarza.
via Wykop Mobilny (Android)
  • 0
@Tytanowy: cout to był fatalny błąd przy designowaniu języka i tego nie broń xD Formatowanie tekstu w C++ to żart, ma się to zmienić z dodaniem formata i printa w C++20/23
@Tytanowy źle się wyraziłem, chodziło mi o ogólnie o obsługę strumieni w cpp - jest to jedyny mechanizm do formatowania/przekierowywania i ma okropny syntax. Oczywiście pomijając funkcje z C.