C ++ Style: linii directoare pentru adăugarea unui tip în spațiul de nume?

Există o orientare a stilului când o clasă este folosită "suficient", astfel încât să fie garantată adăugarea ei în spațiul de nume al unui fișier sursă (de exemplu, "folosind std :: string")?

Știu că este o chestiune de preferință personală, dar nu-mi place că simt că fac acest lucru semi-arbitrar în acest moment (de exemplu, ori de câte ori încep să mă obosesc să scriu std :: string sau orice altceva, și nu uniform în fișiere).

Up to now, I've rarely done this add all (by explicitly stating the namespace in every usage), but after a certain point it does start to hurt the readability (lines become >80 characters faster, seeing std::string all over template definitions, etc). With some boost classes, these things can get pretty long as well (boost::gregorian::date_duration)

0
+1 pentru @RMF. Utilizați utilizând niciodată, cu excepția controlului ADL sau a dezactivării, dar folosiți aliasurile spațiului de nume în mod liber.
adăugat autor Kerrek SB, sursa
FWIW, puteți face namespace bg = boost :: gregorian; și apoi devine bg :: date_duration .
adăugat autor R. Martinho Fernandes, sursa
Ar trebui să faceți acest lucru în interiorul funcțiilor în care aveți nevoie.
adăugat autor chris, sursa
Faceți ceea ce vă place într-un fișier sursă, dar evitați folosind în domeniul namespace-scope în anteturi.
adăugat autor Jonathan Wakely, sursa