Szablon funkcji

didzni
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 136
0
Kopiuj

template <typename T>
void sortuj(std::vector<T> & v)
{
std::sort(v.begin(), v.end(),[](T a, T b){return a > b;});
}

Czy można napisać bardziej uniwersalny szablon funkcji, tak aby oprócz wektora mógłbym posłać do niej tablicę nie podając jej rozmiaru?

nullpt4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 103
4

raczej tak :P

Kopiuj

template <typename T>
void sortuj(T &v)
{
     std::sort(std::begin(v), std::end(v),  std::less<>());
}

i w sumie funkcja sortuj nie jest potrzebna.

Kopiuj
std::vector<int> v = {3,2,1};
std::sort(std::begin(v), std::end(v),  std::less<>());

int t[] = {4,3,2};
std::sort(std::begin(t), std::end(t),  std::less<>());

https://rextester.com/QZWL89875

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.