Założmy, że używacie dwóch różnych bibliotek (np. Foo i Bar). Z jednej używacie funkcji Dupa(), a z drugiej Wacek(). Po jakimś czasie, biblioteka Bar zostaje zaktualizowana i oferuje również nową funkcję Dupa(). W kodzie wystąpi konflikt, bo w miejscach gdzie zostanie wywołana funkcja Dupa() kompilator nie domyśli się, z której biblioteki pochodzi.
Tak samo może być w przyszłości z biblioteką standardową, w której
Niepoprawne jest gdy uƶywasz tego w plikach nagłówkowych, zdradziecko zmieniając znaczenie programu uƶytkownika Twojej biblioteki. Równie dobrze byś mógł zostawić otwarty namespace.
Na poziomie funkcji (ew. co najwyƶej plików .cpp) jest to imo dopuszczalne, jeśli upraszcza kod. Np jeśli piszesz przeładowanie operatora
#cpp
Dobra, już wiem.
Założmy, że używacie dwóch różnych bibliotek (np. Foo i Bar). Z jednej używacie funkcji Dupa(), a z drugiej Wacek(). Po jakimś czasie, biblioteka Bar zostaje zaktualizowana i oferuje również nową funkcję Dupa(). W kodzie wystąpi konflikt, bo w miejscach gdzie zostanie wywołana funkcja Dupa() kompilator nie domyśli się, z której biblioteki pochodzi.
Tak samo może być w przyszłości z biblioteką standardową, w której
sugerowanie xD
Chociaż nadal nie rozumiem, co to ma do rzeczy, ale jestem nowy w programowaniu, więc mam nadzieję, że zrozumiem.
Niepoprawne jest gdy uƶywasz tego w plikach nagłówkowych, zdradziecko zmieniając znaczenie programu uƶytkownika Twojej biblioteki. Równie dobrze byś mógł zostawić otwarty namespace.
Na poziomie funkcji (ew. co najwyƶej plików .cpp) jest to imo dopuszczalne, jeśli upraszcza kod. Np jeśli piszesz przeładowanie operatora
<<
to moƶna #!$%@? dostać od tych
std::
width
,
fill
,
left
,
right
itd. Tak samo, porównaj upierdliwość