rfree
27
  • Najlepsze
  • Wszystkie komentarze
rfree
* w plikach .hpp ( ͡° ͜ʖ ͡°)
5
rfree
@MacFlays: to jest argument za pisaniem std::cout.

Natomiast tutaj jest ::std::cout ( ͡° ͜ʖ ͡°) ta już pedantyczność² wynika z faktu że można std zasłonić szczególnie gdy jesteś w innym namespace np w jakimś gta5:: może być gta5::std:: i wtedy nawet std::string nie oznacza Tego std::string opisanego w standardzie, tylko ten z namespace gta5.

W praktyce, w plikach .h własnych to proponuję mieć konwencję swoją co
4
MacFlays
@byloaledobre: Funkcje cout, endl itp. znajdują się w przestrzeni nazw std, niektórzy używają using namespace std i nie piszą potem std::cout, a tutaj dyskusja dlaczego jest to złe http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice
1
meetom
@rfree: ja tam zawsze wolałem:

printf ("%d\n", x);
Jakoś te strumienie << i >> nigdy do mnie nie przemawiały :P
1
rfree
@byloaledobre: Funkcje cout


@MacFlays: ᕦ(òóˇ
1
MacFlays
@rfree: Mój błąd, strumień cout :) Jak powiem, że kodzenie w asm sprawiło, że przestałem myśleć to będzie mi wybaczone ?:D
1
Flypho
@rfree: Nie spotkałem się jeszcze z taką biblioteką - zawsze są jakieś prefiksy, dopiski do tych nazw coby je odróżnić od STL.
1
Flypho
@rfree: Nie no, umówmy się, że to są biblioteki w których właśnie chodzi o to, aby były zamiennikiem std i z taką myślą są tworzone.
To trochę inna sprawa.
1
rfree
@rfree: Nie no, umówmy się, że to są biblioteki w których właśnie chodzi o to, aby były zamiennikiem std i z taką myślą są tworzone.


@Flypho: Nawet w tej sytuacji (albo tym bardziej) może być tak iż musisz używać dokładnych nazw.

Na przykład Adam pisał bibliotekę do animacji 3D, napisał ją
1
byloaledobre
byloaledobre
@rfree: no właśnie, dlaczego niektórzy ludzie piszą polecenia z tym ::std::? Nie doszedłem jeszcze chyba do tego poziomu wtajemniczenia.
0
Flypho
@rfree: @byloaledobre:
Najpierw trzebaby było się zastanowić czy istnieje w ogóle jakakolwiek biblioteka która mogłaby przesłonić nazwy z std. Bo nie sądzę, żeby ktoś się porywał na taki z-----y pomysł.
0
rfree
@Flypho: ja nie piszę ::std::x, jak piszę pełne to std::x
0
Flypho
@rfree: Wątpię też, żeby ktoś w zewnętrznej bibliotece używał nazw z std i tworzył dwuznaczności. To też jest bardzo zły pomysł.
0
rfree
@Flypho: aha to miałeś na myśli. No tak, nikt nie będzie dawał namespace std { - chyba że na zasadzie

namespace std { namespace __debug { - tak to zrobiło g++ :)

Natomiast, tworzenie nazw które mogą kolidować z std, naz jak "vector" czy "map" się spokojnie może zdarzyć i jest to bardzo nieprofesjonalne aby wciągać std, a tym bardziej całe namespace std do swoich nagłówków a już całkowicie aby
0
rfree
@Flypho: na przykład taki thread, jest w
- std
- boost
- just_thread http://www.stdthread.co.uk/

gdybyś miał kod zlepiony z kawałków pisanych przez lata pod C03, potem C03 + boost, potem C++11, to używając "using namespace" samo "thread" było
0