যদি আমাকে নিম্নলিখিতগুলি করার অনুমতি দেওয়া হয়:
template <typename T = int>
class Foo{
};
আমাকে মূলত নিম্নলিখিতগুলি করার অনুমতি দেওয়া হচ্ছে না কেন?
Foo me;
তবে আমাকে অবশ্যই নিম্নলিখিতটি উল্লেখ করতে হবে:
Foo<int> me;
সি ++ 11 প্রবর্তিত ডিফল্ট টেম্পলেট আর্গুমেন্টগুলি এবং এখনই তারা আমার সম্পূর্ণ বোঝার জন্য অধরা হয়ে উঠছে।
Foo
হতে পারে একটি টেমপ্লেট শনাক্তকারী হতে পারে অথবা পারে একটি সুনির্দিষ্ট ইনস্ট্যান্স আছে কিনা একটি ডিফল্ট যুক্তি উপর নির্ভর করে করা। সুস্পষ্ট ইনস্ট্যান্টেশন সিনট্যাক্স রাখা ভাল। এটিfoo
একটি একক ডিফল্ট প্যারামিটার সহ কোনও ফাংশনের মতো ভাবেন । আপনি এটিকে কল করতে পারবেন নাfoo
, আপনি এটি দিয়ে কল করুনfoo()
। এটি ধারাবাহিক রাখা অর্থবোধ করে।