কেন কেউ বুলেট টিপল লাইব্রেরি বা টিআর 1 এর জন্য স্ট্যান্ডার্ড লাইব্রেরি সি ++ এ টিউপস ব্যবহার করবেন বলে মনে হচ্ছে না ? আমি প্রচুর সি ++ কোড পড়েছি এবং খুব কমই আমি টিপলসের ব্যবহার দেখতে পাই তবে আমি প্রায়শই এমন অনেক জায়গা দেখি যেখানে টিপলস অনেকগুলি সমস্যার সমাধান করে (সাধারণত ফাংশন থেকে একাধিক মান ফেরত)।
টিপলস আপনাকে এ জাতীয় ধরণের সমস্ত ধরণের জিনিস করতে দেয়:
tie(a,b) = make_tuple(b,a); //swap a and b
এটি অবশ্যই এর চেয়ে ভাল:
temp=a;
a=b;
b=temp;
অবশ্যই আপনি সর্বদা এটি করতে পারেন:
swap(a,b);
কিন্তু আপনি যদি তিনটি মান ঘোরাতে চান? আপনি টিপলস দিয়ে এটি করতে পারেন:
tie(a,b,c) = make_tuple(b,c,a);
টিপলস কোনও ফাংশন থেকে একাধিক ভেরিয়েবল ফিরিয়ে আনা সহজতর করে তোলে যা সম্ভবত অদলবদলের মানগুলির চেয়ে অনেক বেশি সাধারণ কেস। প্রত্যাবর্তনের মানগুলির জন্য রেফারেন্স ব্যবহার করা অবশ্যই খুব মার্জিত নয়।
আমি যে টিপলগুলি নিয়ে ভাবছি না সেগুলির কোনও বড় ধরনের ত্রুটি রয়েছে? যদি তা না হয় তবে কেন এগুলি খুব কম ব্যবহার করা হয়? তারা ধীর হয়? নাকি এটা ঠিক যে মানুষ তাদের অভ্যস্ত হয় না? টিপলস ব্যবহার করা কি ভাল ধারণা?
a = a ^ b; b = a ^ b; a = a ^ b;