У меня есть шаблон класса с параметром T, это пользовательский контейнер. T может быть указателем или ссылкой.
В этом шаблоне у меня есть функция, с помощью которой я помещаю свои объекты в контейнер. Я хочу разместить новые элементы в порядке с оператором <, но проблема в том, что я не знаю, является ли T указателем или ссылкой. если T - указатель, я должен разыменовать его, иначе нет. </p>
Я нахожу std :: is_pointer :: value, но у меня возникает ошибка компиляции, когда я пытаюсь создать контейнер с int T-типом.
void insert(int row, T t){
int i = 0;
for (; i < size && *t < *matrix[i]; i++) { //or t < matrix[i] if T is a reference
new_matrix[i] = matrix[i];
}