Предположим, у нас есть шаблон класс ptr. Функция-конструктор класса ptr может принимать значения int, double, other handmade structure и т. Д., Так как это класс шаблона.Как увеличить статическое значение int в классе шаблона внутри функций-конструкторов и деструкторов?
Я хочу видеть, сколько раз эти конструкторы и деструкторы вызываются, и также тип данных, к которым он был вызван. Можно ли это увидеть?
Прямо сейчас у меня есть статическое значение int в классе шаблона и 2 конструктора (1 конструктор по умолчанию) и 1 деструкторы, в которых я увеличиваю/уменьшаю значение статического значения int.
template<class T>
class ptr
{
private:
T* data;
public:
ptr();
ptr(T* data);
~ptr();
static int number;
};
template<class T>
int ptr<T>::number = 0;
Как я могу видеть, для которых эти типы Конструкторы и деструктор называются? Теперь я вижу значение статического int, а не для какого типа он вызывается.
Каждый тип, который вы используете, создаст новый тип. a 'ptr' будет другим классом, чем 'ptr ' –
NathanOliver
Да. Вот почему для каждого класса существует более 1 статического числа, поэтому я хочу видеть, какой из них я увеличиваю или уменьшаю. – yamato
'ptr :: number' дает вам количество' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Вы можете проверить и добавить это для нескольких типов. Если вам нужна сумма всех типов, вы должны сделать отдельную переменную, так как нет способа спросить, с какими типами был создан шаблон. –
nwp