স্কট মায়ার্স এর বই এর আইটেম 18 কার্যকর STL: 50 নির্দিষ্ট উপায় স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরী আপনার ব্যবহার উন্নত করতে এড়াতে বলেছেন vector <bool>
কেননা এতে একটি STL ধারক নয় এবং এটি সত্যিই না রাখা bool
গুলি।
নিম্নলিখিত কোড:
vector <bool> v;
bool *pb =&v[0];
সংকলন করবে না, এসটিএল পাত্রে প্রয়োজনীয়তা লঙ্ঘন করছে।
ত্রুটি:
cannot convert 'std::vector<bool>::reference* {aka std::_Bit_reference*}' to 'bool*' in initialization
vector<T>::operator []
রিটার্ন টাইপ হওয়ার কথা T&
, তবে এটি কেন একটি বিশেষ ক্ষেত্রে vector<bool>
?
আসলে কী থাকে vector<bool>
?
আইটেমটি আরও বলেছে:
deque<bool> v; // is a STL container and it really contains bools
এটি বিকল্প হিসাবে ব্যবহার করা যেতে পারে vector<bool>
?
কেউ দয়া করে এটি ব্যাখ্যা করতে পারেন?