Здравствуйте, Чили, Вы писали:
Ч>Подскажите пожалуйста, как реализовать следующую шаблонную функцию на чистом С++ (без STL)
А использовать STL почему нельзя? Тебе придется создать полный аналог потоков
template<typename T>
char* ArgToStr(const T& t, char *str, size_t strMaxLen/*Мы же не хотим хипу покалечить?*/);/*
{
// выполнить что то типа sprintf(str,t)
}
*/template<>
char* ArgToStr<int>(const T& t, char *str, size_t strMaxLen)
{
// и рисовать такую специализацию для КАЖДОГО типа
}
Re[2]: template<typename T> в строку
От:
Аноним
Дата:
09.02.07 07:28
Оценка:
Здравствуйте, ncode, Вы писали:
N>У меня такая процедура есть в коде: N>
Здравствуйте, Аноним, Вы писали:
А>А использовать STL почему нельзя? Тебе придется создать полный аналог потоков
Можно и с использованием STL. Тогда вообще проблем нет! Но тогда придется объяснять что такое STL!
А>char* ArgToStr(const T& t, char *str, size_t strMaxLen/*Мы же не хотим хипу покалечить?*/);
VS2005 приучил?
А>template<>
А>char* ArgToStr<int>(const T& t, char *str, size_t strMaxLen)
А>{
А>// и рисовать такую специализацию для КАЖДОГО типа
А>}
А>
Придется реализовывать для каждого типа!
Re[3]: template<typename T> в строку
От:
Аноним
Дата:
09.02.07 07:44
Оценка:
Здравствуйте, Чили, Вы писали:
А>>А использовать STL почему нельзя? Тебе придется создать полный аналог потоков Ч>Можно и с использованием STL. Тогда вообще проблем нет! Но тогда придется объяснять что такое STL!
Смотри книгу Джосьютиса. В твоем конкретном случае std::ostringstream сделает всю работу