C ++ шаблонов для конкретного типа без использования традиционной специализации шаблонов - PullRequest
0 голосов
/ 20 февраля 2012
template <typename T_>
class my_class {
public:
       typedef T_   value_type;
       typedef T_ * pointer;

Я разрабатываю шаблонный класс, однако, потому что обнаружение ошибок C ++ и intellisence отстой для шаблонных вещей, есть ли способ, которым я могу установить шаблон для примера int, чтобы получить выгоду от intellisence, а затем, когда я закончу развитие просто переключить его обратно и исправить пару ошибок?

Я все еще хочу, чтобы мой код был универсальным и переписывал его, так как специализация шаблонов - это слишком много работы.

Я хочу иметь возможность сделать что-то вроде

template <typename T_ = int>
class my_class {
public:
       typedef T_   value_type;
       typedef T_ * pointer;

1 Ответ

1 голос
/ 20 февраля 2012

Я не совсем уверен, что понимаю, что вы пытаетесь выполнить, но вы можете ввести в классе определение по умолчанию T_ до int и отключить оператор шаблона либо через препроцессор, либо закомментировав его.

#ifndef NO_MY_CLASS_TEMPLATE
template <typename T_ = int>
#endif
class my_class {
#ifdef NO_MY_CLASS_TEMPLATE
       typedef int T_;
#endif
public:
       typedef T_   value_type;
       typedef T_ * pointer;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...