Как я могу сделать так, чтобы две функции с разными аргументами имели одно и то же тело функции?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу сделать так, чтобы две функции с разными аргументами имели одно и то же тело функции?

Сообщение Anonymous »

Мне нужно реализовать связанный список без использования STL. Функция push_front имеет две перегрузки: одну с const T&, другую с T&&, но реализация та же.
Единственное, что я придумал, это использование макроса #define. Есть ли другой способ?
Текущая реализация:
#define pushFront { \
/*
* Implementation
*/
}

void push_front(const T& value) pushFront

void push_front(T&& value) pushFront

#undef pushFront


ОБНОВЛЕНИЕ:
Фактическая реализация:
listNode *new_head = (listNode *)malloc(sizeof(listNode));
new_head->value = value;
new_head->next = m_head;
m_head = new_head;
m_size++;


Подробнее здесь: https://stackoverflow.com/questions/798 ... ction-body

Вернуться в «C++»