Шаблоны

Тема в разделе "Общие вопросы по С и С++", создана пользователем Sermak, 22 ноя 2007.

  1. Sermak

    Sermak Гость

    У меня такой вопрос, можно ли создать объект шаблонного класса, который бы обозначал "NULL", если неизвестны параметры шаблона (типы данных шаблона). Если нельзя, то какие есть варианты. Например метод шаблона возвращает ссылку на объект шаблона, как можно определить, деиствительна ли ссылка, или метод допустил ошибку, и ссылка не верна (не найден объект и тп). Можно конечно создать флаг ошибки, но хотелось бы что нить поэллегантнее.
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Шаблоны - они на этапе компиляции генерятся, поэтому спрашивать у класса, если у него параметр - нет смысла. Определить объект шаблонного класса без указания базы - нельзя, насколько мне известно.
    Так что главный вопрос, как всегда - А на фига? Какую задачу пытаемся решить?
     
  3. Sermak

    Sermak Гость

    Код (Text):
     
    template <class T>
    class TC
    {
    public:
    T& RetObj (bool x, T &obj)
    {
    if (x) return 0; // здесь естественно неправильно тк ссылка не может быть 0, а очень надо
    else return obj;
    }
    };
    Не смотрите на бессмысленность кода - это для примера.
    Как мне дать понять пользовательской программе (которая будет использовать этот шаблон), что возвращщенный объект (ссылка) не является искомым. Кроме создания флага.
     
  4. gamecreator

    gamecreator Гость

    а вернуть указатель нельзя? только ссылку?
     
  5. Sermak

    Sermak Гость

    с указателями можно конечно, но коряво получается при использовании перегруженных для class T операторов, вообщем некрасивый текст программы получается, хотелось бы всетаки со ссылками. Ну если конечно нельзя, то придется с указателями (у меня кстати так и реализовано уже), просто хотелость шоб красиво!!!
     
Загрузка...
Похожие Темы - Шаблоны
  1. Edip
    Ответов:
    1
    Просмотров:
    1.040
  2. late
    Ответов:
    0
    Просмотров:
    1.325
  3. Whatka
    Ответов:
    2
    Просмотров:
    1.369
  4. dimanwv
    Ответов:
    2
    Просмотров:
    1.576
  5. lmike
    Ответов:
    0
    Просмотров:
    1.396

Поделиться этой страницей