Здравствуйте, sadomovalex, Вы писали:
S>количеством брать будем
Тогда господин Мейерс с нами
Здравствуйте, Tuo_Bellas, Вы писали:
T_B>Ответ очевиден. "Нефиг называть свои классы как не надо..."
Тогда пусть предоставит полный список имен которые нельзя использовать.
Здравствуйте, 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>>