Re[4]: using namespace std
От: denisku Россия  
Дата: 13.10.04 17:10
Оценка:
Здравствуйте, sadomovalex, Вы писали:

S>количеством брать будем

Тогда господин Мейерс с нами
Извините за потраченный траффик..
Re[3]: using namespace std
От: sergey_shandar США http://getboost.codeplex.com/
Дата: 14.10.04 04:13
Оценка: 14 (2)
Здравствуйте, Tuo_Bellas, Вы писали:

T_B>Ответ очевиден. "Нефиг называть свои классы как не надо..."


Тогда пусть предоставит полный список имен которые нельзя использовать.
getboost.codeplex.com
citylizard.codeplex.com
Re: using namespace std
От: saskin http://rsdn.ru/
Дата: 14.10.04 11:05
Оценка: 16 (4)
Здравствуйте, Tuo_Bellas, Вы писали:

вот простенький примерчик того, что привычка бездумного использования using namespace, особенно в заголовках, источник неиссякаемых багов

inc.h
#include <string>
#include <iostream>

#ifdef _USE_NAMESPACE
using namespace std;
#endif


bug.h
namespace bug 
{
    std::ostream& __cdecl operator<< (std::ostream& os, const std::string& s)
    {
        os << ":-O";
        return os;
    }
}

#ifdef _USE_NAMESPACE
using namespace bug;
#endif


main.cpp
//#define _USE_NAMESPACE

#include "inc.h"
#include "bug.h"

#ifndef _USE_STD
using namespace std;
#endif

int main(int argc, char* argv[])
{
    string s("ok");
    cout << "test: " << s << endl;
    return 0;
}


если откоментировать #define _USE_NAMESPACE то на выходе получим соверщенно другой результат. Причем компилер даже предупреждения не выдаст, а поймать баг можно только отладкой.
... << RSDN@Home 1.1.4 beta 3 rev. 0>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.