Объясните пожалуйста а то я нашел статью, почитал но так и не понял, там в основном про историю как это нашлось и все такое.
Здравствуйте, Аноним.
vector<bool> нарушает обобщённость vector-а.
Здравствуйте, Пётр Седов, Вы писали:
ПС>Здравствуйте, Аноним.
ПС>vector<bool> нарушает обобщённость vector-а.
Это как раз понятно
Сама причина, непонятно каким образом, тоесть детали
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Пётр Седов, Вы писали:
ПС>>Здравствуйте, Аноним.
ПС>>vector<bool> нарушает обобщённость vector-а.
А>Это как раз понятно Сама причина, непонятно каким образом, тоесть детали
тем, что в качестве интерфейса использует прокси-объекты.
Тут можно с разных позиций рассуждать.
Можно говорить, что vector<bool> плохой.
А можно говорить, что вся нынешняя концепция итераторов (я имею в виду текущие требования по стандарту) кривые, потому что не разрешают по-человечески делать итерацию через прокси-объекты.
И на этот счет есть соответствующее предложение (
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1640.html), но ему почему-то не дали хода вот с таким комментарием:
Proposals Removed from TR1
While these proposals were actively considered for TR1, and at one point included in the working draught, they were ultimately taken out as 'not ready'. It is expected that much of this material will be presented in another form for future standards work.
Возможно, потому, что, хоть они и говорят, что все совместимо, все равно потребуются массированные изменения практически во всей STL (с соответствующим эффектом для существующего пользовательского кода).