Предположим следующий фиктивный шаблон:
template < class DataType > class Dummy
{
public:
void init( )
{
m_data = DataType( 0 );
}
private:
DataType m_data;
};
Вызов init запустит внутренние данные.Это работает нормально, когда DataType является стандартным типом данных (например, int или float).Когда DataType является классом, этот класс должен иметь соответствующий конструктор.
Теперь предположим, что DataType должен быть, например, комплексным числом, представленным подходящим классом.В этом случае не имеет смысла давать классу Комплексного числа конструктор с одним аргументом, потому что в нормальных условиях вы хотите инициализировать действительную и мнимую части.
Поэтому мой вопрос: каков наилучший общий способ инициализациирассматриваемый тип шаблона, который должен подходить для хранения любого типа данных.
Я думаю, что, например, STL должен реализовывать такие мысли, но я потерян в этом коде.