vb.push_back(false): ostream_i

Автор admin Четверг, 11 июня 2009 11:32

vb.push_back(false): ostream_iterator out(cout. “”): copy (vb. begi nO. vb.endO. out); cout « endl; bool ab[] – { true, false, false, true. true. true. true, false, false, true }: // Существует похожий конструктор: vb.assign(ab. ab + sizeof(ab)/sizeof(bool)); copy(vb.beginO. vb.endO. out); cout « endl: vb.flipO; // Инвертирование всех битов copy (vb. begi nO. vb.endO. out): cout « endl: for(size_t i = 0: i < vb.sizeO: i++) vb[i] - 0: // (эквивалент "false") vb[4] - true: vb[5] = 1: vb[7].flip(); // Инвертирование одного бита copy (vb. beginO. vb.endO. out); cout « endl; // Преобразование в bitset: ostringstream os: copy(vb.beginO. vb.endO. ostream_iterator(os. “”)); bitset<10> bs(os.strO); cout « “Bitset:\n” « bs « endl; } ///:- Последний фрагмент этого примера преобразует vector в bitset через промежуточную строку из единиц и нулей. Чтобы такое преобразование стало возможно, размер bitset должен быть известен на стадии компиляции, поэтому такое преобразование на практике применяется относительно редко. Специализация vector в определенном смысле является «неполноценным» контейнер


Комментарии закрыты.