Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 366
Записей в блоге: 1
#1

bool vector - C++

25.10.2013, 18:59. Просмотров 569. Ответов 18
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
#include <vector>
 
int main()
{
 
  vector<bool> myBool(10);
  
  for(int i=0;i!=myBool.size();++i)
  {
    cin>>myBool[i];//здесь ругается. почему??
  }
 
  return 0;
}
ошибка:
error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'std::_Vb_reference<_Alloc>' (or there is no acceptable conversion)

Добавлено через 23 минуты
up.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 18:59     bool vector
Посмотрите здесь:

Vector<bool> и visual c++ - C++
Приветствую, пытаюсь адаптировать консольный исходник алгоритма Хаффмана в форменное приложение visual Studio 2005 c++. Объявляю вначале...

vector<bool> утверждение - C++
друзья! Страутструп утверждает что проще пареной репы. подскажите как? что то в голову не идет. Как сделать так чтобы элемент вектор бул...

Примерная реализация std vector bool - C++
добрый вечер, не могу найти в сети реализацию st::vector&lt;bool&gt; - есть у кого под рукой?) Почитать)

Упаковка std :: vector <bool> в байты - C++
Добрый Вечер! возникла проблема: нужно элементы std::vector&lt;bool&gt; упаковать в байты для последующей записи в файл собственно,...

Vector <bool> erase iterator outside range - C++
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...

Как в vector поместить double, bool? - C++
#include &lt;stdio.h&gt; #include &lt;vector&gt; using namespace std; void main() { vector&lt;int&gt; vec; double t = -12.34; bool b =...

Ошибка при использовании vector<bool> - C++
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно преобразовать...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.10.2013, 19:09     bool vector #2
Цитата Сообщение от slipp1 Посмотреть сообщение
здесь ругается. почему??
Не может ввести. Специфика вектора bool. http://alenacpp.blogspot.ru/2005/06/vector.html
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 665
Завершенные тесты: 1
25.10.2013, 19:14     bool vector #3
А как ты планируешь вводить bool?)
Используй какую-нибудь промежуточную переменную, вводи в нее, а затем ее преобразуй в bool.
Да, и != в цикле может тебе в один прекрасный момент такую свинью подкинуть... < используй, чтоб наверняка.
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,274
Записей в блоге: 17
25.10.2013, 21:08     bool vector #4
Используй std::vector<char> myBool(10); или std::bitset<>

P.S.: vector<bool> - еще то позорище STL
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.10.2013, 21:11     bool vector #5
Цитата Сообщение от monolit Посмотреть сообщение
Да, и != в цикле может тебе в один прекрасный момент такую свинью подкинуть...
Какую же?
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 665
Завершенные тесты: 1
27.10.2013, 18:46     bool vector #6
Да все просто. Вдруг переменная i где нибудь в цикле изменится, == никогда не будет, и тогда долго ловить ошибку будешь... Не в этом случае, конечно, но раз написано !=, то с большой долей вероятности так пишете везде, так что..
castaway
27.10.2013, 18:54
  #7

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
P.S.: vector<bool> - еще то позорище STL
С чего это?

OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.10.2013, 18:59     bool vector #8
Цитата Сообщение от castaway Посмотреть сообщение

Не по теме:

С чего это?

Потому что это не вектор, и не bool'ов.

Но да, это не позорище. Это памятник, поставленный в назидание. Показывающий, что надо думать перед тем, как реализовывать гениальные идеи.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 19:09     bool vector #9
А в чём проблема то?

Добавлено через 5 минут
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Это памятник, поставленный в назидание. Показывающий, что надо думать перед тем, как реализовывать гениальные идеи.
Если хочется сказать что тип bool глупо использовать в контейнерах - почему бы так и не сказать? Да и причины не плохо бы услышать..
А то, что в этом виноваты шаблоны - чушь собачья.

Добавлено через 1 минуту
OhMyGodSoLong, ты говоришь красиво, но бестолково.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.10.2013, 20:04     bool vector #10
Цитата Сообщение от castaway Посмотреть сообщение
А в чём проблема то?
В том, что vector<bool> не обязан соблюдать шаблонный интерфейс вектора. Он не обязан возвращать нормальные итераторы. Он не обязан быть идентичным внутри сишному массиву. Именно эта специализация и является ошибкой комитета по стандартизации. Они это признают, но исправлена она не будет никогда, потому что обратная совместимость.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 20:07     bool vector #11
OhMyGodSoLong, наверняка об этом где-то сказано..?
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.10.2013, 20:08     bool vector #12
В смысле? Проблема, описанная в документации, проблемой быть не перестаёт. И того, что пользоваться vector<bool> не рекомендуется, это не отменяет. Но с этим можно только смириться.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 20:10     bool vector #13
А где это сказано в документации?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
27.10.2013, 20:11     bool vector #14
Цитата Сообщение от castaway Посмотреть сообщение
А где это сказано в документации?
о специализации вектора есть в стандарте целая глава.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 20:16     bool vector #15
Цитата Сообщение от Croessmah Посмотреть сообщение
о специализации вектора есть в стандарте целая глава.
Вопрос не о главе о векторах в стандарте, а о том, что
Цитата Сообщение от Avazart Посмотреть сообщение
P.S.: vector<bool> - еще то позорище STL
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
27.10.2013, 20:19     bool vector #16
Цитата Сообщение от castaway Посмотреть сообщение
Вопрос не о главе о векторах в стандарте, а о том, что
не напишут же в документации что vector<bool> лажа, а в нете тьма статей как раз по данной тематике.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.10.2013, 20:25     bool vector #17
Цитата Сообщение от castaway Посмотреть сообщение
А где это сказано в документации?
Там не сказано и то, что два раза вызывать delete не рекомендуется. Но это не значит же, что надо бежать сломя голову так делать.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
27.10.2013, 20:28     bool vector #18
Пытались так сказать сделать экономный контейнер, в результате чего получилось так, что контейнер перестал быть контейнером.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2013, 20:28     bool vector
Еще ссылки по теме:

Ребята есть ли метод vector <bool> записать в бинарный файл? - C++
Всем доброго времени. Возник вопрос есть ли такой хитрый способ чтоб можно было записать в бинарник значения булл имеем vector &lt;bool&gt;...

BOOL B C++ =( - C++
объясните, пожалуйста, значение bool, и вообще, что это и зачем? насколько я понял, это в С++... и как можно в этом коде заменить bool...

bool - C++
Помогите с функцией, ее нужно реализовать с помощью типом данных bool Напишите функцию, которая принимает число и возвращает истину,...

Bool - C++
Обьясните мне, как они pаботают и где их пpименять =( Вот с помощью учебника написал пpогу #include &quot;stdafx.h&quot; #include...

Bool на с++ - C++
Здраствуйте =) #include &lt;iostream&gt; using namespace std; int main() { int a; int b; int n; cin&gt;&gt;n; for (int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
27.10.2013, 20:28     bool vector #19
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Там не сказано и то, что два раза вызывать delete не рекомендуется.
Это очевидно, вопреки другому..
Yandex
Объявления
27.10.2013, 20:28     bool vector
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru