понедельник, 19 марта 2012 г.

Мелочи жизни

В рабочем коде периодически натыкаюсь на код подобного вида:
class SomeClass
{
  //....
};
typedef std::auto_ptr<SomeClass> SomeClassAutoPtr;
typedef std::tr1::shared_ptr<SomeClass> SomeClassSharedPtr;
//....
SomeClassAutoPtr ptr = getSomePointer();
Читать подобные километровые названия не очень приятно. Решение получше:
class SomeClass
{
  //....
typedef std::auto_ptr<SomeClass> AutoPtr;
typedef std::tr1::shared_ptr<SomeClass> Ptr;
};
//...
SomeClass::AutoPtr ptr = getSomePointer();
ИМХО второй вариант выглядит куда приятнее первого, к тому же не засоряет "глобальное пространство имен".

Комментариев нет:

Отправить комментарий