Sziasztok!
Nem akarok más topicba belerondítani a kérdésemmel, ha gond lenne az új topic, akkor trey töröld légyszíves!
Nos, van itt egy n alatt k értéket kiszámító metaprogram, aminek működéséről kicsit összekülönböztünk kollégával, így szeretném szakavatottabb ember véleményét kikérni, hogy jó-e az implementáció, mivel szerintem jó:
#include <iostream>
using namespace std;
template<int N, int K>
class NK {
public:
static const int result = (N==K) ? 1 : NK<N-1,K-1>::result + NK<N-1,K>::result;
};
template<int N>
class NK<N, 0> {
public:
static const int result = 1;
};
template<int K>
class NK<0, K> {
public:
static const int result = 0; //0 alatt K nincs ertelmezve, ezert dobunk egy 0-t
};
template<>
class NK<0,0> {
public:
static const int result = 0;
};
int main() {
cout << "10 alatt 3 = " << NK<10, 3>::result << endl;
return 0;
}