Как я могу сделать так, чтобы две функции с разными аргументами имели одно и то же тело функции?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

Примечание: полная реализация 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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