Pracuję nad małym osobistym projektem C++ używającym STL. Nie lubię mieć "std::
" w każdym miejscu w moich plikach nagłówkowych, ponieważ uważam, że utrudnia to czytelność, ale jednocześnie nie chcę później powodować problemów poprzez umieszczenie using namespace std
w pliku nagłówkowym.Ograniczanie zakresu "używania przestrzeni nazw" w pliku nagłówkowym
Więc zastanawiam się, czy istnieje sposób, aby ograniczyć zakres deklaracji using
tak, że odnosi się do zawartości mojego pliku nagłówka, ale nie ma zastosowania do plików, które zawierają go. Próbowałem różnych rzeczy, takich jak to, ale wydaje się, że wprowadzenie zakresu w ten sposób nie jest dozwolone poza definicją funkcji. Czy istnieje sposób, aby zrobić to, co chcę?
Uwaga: Naprawdę nie interesuje mnie dyskusja, czy to dobry pomysł, chcę tylko wiedzieć, czy da się to zrobić.
Moja błędna odpowiedź została usunięta. Przeprosiny. Zawsze w pełni kwalifikuję nazwy w nagłówkach (a nawet w plikach cpp teraz) z przyzwyczajenia. Powszechnie jest mieć podstawy kodu, które deklarują własny wektor, więc pomocne jest zobaczenie std :: vector, aby uniknąć niejednoznaczności. To jednak nie pomoże ci odpowiedzieć na twoje pytanie. – M2tM
@ M2tM dzięki, nie ma problemu. – Nathaniel