Сравнение классов шаблонов C ++ - PullRequest
0 голосов
/ 06 января 2019

Я недавно вошел в шаблоны в C ++, и мне стало интересно, смогу ли я использовать его для этой цели; скажем, у меня есть функция под названием Swap.

template<typename T>
void Swap(T class)
{
  ...
}

и классы C1 и C2, и я бы хотел что-то вроде Swap (c1); что сделало бы возврат функции новым c2 и наоборот. Какой самый эффективный способ сделать это?

1 Ответ

0 голосов
/ 06 января 2019

Нет необходимости в шаблоне, достаточно 2 перегрузок:

C2 Swap(const C1& c1) { return C2{/*...*/}; }
C1 Swap(const C2& c2) { return C1{/*...*/}; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...