কম্পিউটার টিউটোরিয়াল

C++11-এ அறানো নতুন পরিবর্তনগুলো


C++11 স্ট্যান্ডার্ড C++ ভাষার একটি সংস্করণ। এটি ১২ আগস্ট ২০১১ সালে আন্তর্জাতিক মানদণ্ড সংগঠন (ISO) দ্বারা অনুমোদিত হয়েছিল, তারপর C++14 এবং C++17। C++11 কোর ভাষাতে অনেক নতুন যোগফল আনায়।

C++11-এ அறানো কিছু নতুন পরিবর্তন নিচে দেওয়া হলো:

  • nullptr — পূর্বের nullptr-এ শূন্য মান রয়েছে এবং এর ইমপ্লিসিট কনভার্সন টু ইন্টিজার ভ্যালুর একটি ড্রব্যাক ছিল। নাল পয়েন্টার লিটারেল std::nullptr_t দিয়ে রিপ্রেজেন্ট করা হয়। এই nullptr-এ কোনো ইমপ্লিসিট কনভার্সন নেই।

  • Lambdas — ল্যাম্বডা এক্সপ্রেশন লোকালি ফাংশন ডিফাইন করতে দেয়। অ্যানোনিমাস ফাংশন কে ল্যাম্বডা বলা হয়। std::function এক্সপেক্ট করা যেকোনো জায়গায় ল্যাম্বডা এক্সপ্রেশন ব্যবহার করা যায়।

  • Smart pointers — Smart pointer auto_ptr একমাত্র smart pointer ছিল এবং এখন এটি ডিপ্রিকেটেড। C++11-এ তিনটি নতুন smart pointer যোগ হয়েছে: shared_ptr, unique_ptr এবং weak_ptr।

  • auto — পূর্বের ভার্সনে অবজেক্টের টাইপ স্পেসিফাই করতে হতো কিন্তু C++11-এ টাইপ স্পেসিফাই করার দরকার নেই, অর্থাৎ আপনি সরাসরি টাইপ না বলে ভেরিয়েবল ডিক্লেয়ার করতে পারেন।

  • Override and Final — C++11 সংস্করণে দুটি নতুন স্পেশাল আইডেন্টিফায়ার معرفی করা হয়েছে: override এবং final। Override ইঙ্গিত দেয় যে মেথডটি বেস ক্লাসের ভার্চুয়াল মেথডের ওভাররাইড হওয়া উচিত। অন্যদিকে, final ইঙ্গিত দেয় যে ডিরাইভড ক্লাস ভার্চুয়াল মেথড ওভাররাইড করা উচিত নয়।

  • Deleted and defaulted functions — ডিলিটেড ফাংশন অবজেক্ট কপি রোধ করতে উপকারী। কপি ডিজেবল করতে "=delete;" ব্যবহার করা হয়। ডিফল্ট ফাংশন কম্পাইলারকে ফাংশনের ডিফল্ট ইমপ্লিমেন্টেশন জেনারেট করতে নির্দেশ দেয় এবং "=default;" ডিফল্ট ফাংশন실로 ব্যবহার করা হয়।

  • Range-based for loops — C++11 রেঞ্জ-বেসড ফর লুপ চালু করেছে কালেকশন ইটারেট করার জন্য। এখন C-অ্যারে এর মতো ইটারেট করা সম্ভব। এটি 'foreach' প্যারাডাইম সাপোর্ট করে।

  • Strongly-typed enums — ট্র্যাডিশনাল enums-এ, সে সারাউন্ডিং স্কোপে তাদের enumexport করত। এগুলো "enum class" কীওয়ার্ড দিয়ে স্পেসিফাই করা হয়। এগুলো তাদের enumexport সারাউন্ডিং স্কোপে করে না।

  • Static_assert and type traits — এটি কম্পাইলেশন টাইমে অসারশন চেক করে। যদি অসারশন সত্য হয়, তবে কিছুই দেখায় না, অন্যথায় এরর মেসেজ দেখায়।

  • New C++ algorithms — C++11 স্ট্যান্ডার্ড লাইব্রেরি কিছু অপারেশন সহ নতুন অ্যালগরিদম معرفی করেছে যেমন all_of(), any_of এবং none_of()।


  1. সি ভাষায় টোকেন (Tokens) কী?

  2. সি প্রোগ্রামিং-এ ফাংশনের বিভাগ (Categories of Functions)

  3. জাভা ৯-এ Optional ক্লাসে যোগ করা নতুন মেথডগুলো

  4. পাইথন ক্লাস ব্যবহার করার সুবিধা কী কী?