স্ট্যাটিক মেটাপ্রোগ্রামিং (ওরফে "টেম্পলেট মেটাপোগ্র্যামিং") একটি দুর্দান্ত সি ++ কৌশল যা সংকলন সময়ে প্রোগ্রামগুলি সম্পাদন করতে দেয়। আমি এই প্রচলিত রূপক উদাহরণটি পড়ার সাথে সাথে আমার মাথায় একটি হালকা বাল্ব চলে গেল:
#include <iostream>
using namespace std;
template< int n >
struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };
template<>
struct factorial< 0 > { enum { ret = 1 }; };
int main() {
cout << "7! = " << factorial< 7 >::ret << endl; // 5040
return 0;
}
যদি কেউ সি ++ স্ট্যাটিক ধাতব প্রোগ্রামিং সম্পর্কে আরও জানতে চান তবে সেরা উত্সগুলি (বই, ওয়েবসাইটগুলি, অন-লাইন কোর্সওয়্যার, যাই হোক না কেন)?