Официальный сайт студ.городка НГТУ
Программирование и БД » [C++] default type traits 

#1  16.02.10 17:54

ZiF
Профиль

[C++] default type traits

товарищи знатоки, есть ли в плюсах какой-нибудь существующий класс свойств, в котором бы лежало значение по-умолчанию для типа.

такая задачка: например делаем шаблонный класс прямогольника на плоскости:

template<typename T, typename TraitsT = SOME_TRAITS<T> >
class Rect2 {
protected:
  T m_Xmin, m_Xmax;
  T m_Ymin, m_Ymax;

public:
  Rect2() : m_Xmin(TraitsT::default), .... {}
....
};

можно конечно вызывать конструктор типа по-умолчанию, для встроенных подставит 0, для пользовательских - пусть тип сам знает чем он дефолтно должен инициализироваться. но что если надо проинициализировать члены некоторыми другими дефолтными значениями.

вопрос: есть ли в STL что-нть такое готовое, что нужно перегружать/специализировать в подобной ситуации, чтобы не делать свой SOME_TRAITS ?!

Offline

#2  16.02.10 21:44

$up
Профиль

Re: [C++] default type traits

значение по умолчанию определяется дефолтным конструктором.

ZiF написал(а):

но что если надо проинициализировать члены некоторыми другими дефолтными значениями.

передавай их через параметры темплейта
T DefaultValue

Offline

#3  20.02.10 08:56

ZiF
Профиль

Re: [C++] default type traits

вроде как в STL ничего такого нет,
если кому-то еще интересно: http://www.codeguru.com/forum/showthrea … ost1918075

Offline

Программирование и БД » [C++] default type traits 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.031 сек.
Выполнено 14 запросов.