Согласитесь, что using namespace XXX
не является хорошей практикой. Однако префикс namespaces::
в каждом звонке не только утомительный, но и иногда раздражающий. например, посмотрите на код, ниже которого используется стандартное пространство имен std
Использование пространства имен :: функция лучше, чем префикс пространства имен :: в каждом вызове?
#include <iostream>
int main()
{
std::cout << "Hello World" << std::endl;
return 0;
}
Однако, я могу избавиться от повторения std::
, просто импортируя саму функцию с помощью using
ключевого слова, как
#include <iostream>
using std::cout;
using std::endl;
int main()
{
cout << "Hello World" << endl;
return 0;
}
Есть ли почему я не должен делать этого, а не префикс std :: во всех операторах. если нет конкретной причины, почему этот подход не продвигается по сравнению с префиксом std::
?
Я понимаю из спецификации C++, что using std::func
также импортирует перегруженное определение.
http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice – ashiquzzaman33
ИМХО вы можете использовать его в целях тестирования. – ashiquzzaman33