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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
#1

Инициализация vector<char> - C++

02.08.2013, 17:30. Просмотров 2345. Ответов 21
Метки нет (Все метки)

Добрый день. Подскажи те, как инициализировать vector<char> символами - буквами алфавита.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 17:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация vector<char> (C++):

Запись в vector<vector<char>> - C++
Задача такова: Считать с нескольких разных файлов бинарным способом в vector&lt;vector&lt;char&gt;&gt; _data. Затем vector&lt;vector&lt;char&gt;&gt; _data...

Инициализация vector - C++
При создание вектора, пытаюсь сразу задать начальные значения: std::vector&lt;int&gt; c{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; но компилятор (MinGW...

Инициализация графа (контейнер vector) - C++
Нашёл как ра то, что мне нужно, алгоритм Форда-Беллмана. С помощью этого алгоритма можно найти кратчайшие пути между заданной вершиной и...

Инициализация полей класса через vector<> - C++
Здравствуйте, можете подсказать как правильно инициализировать поля класса, вот например есть класс MyClass, в нем 2 поля int x int у,...

Инициализация статического члена std::vector в шаблонном классе - C++
есть класс myclass , владеющий классом struct template&lt;class T&gt; class myclass { struct mystruct {}; public: static...

Инициализация *char в конструкторе - C++
Хай эврибади! class A { private: int a; int b; char *str; public: A() : a(0), b(0) { str = '\0'; }

21
Valentina
68 / 68 / 3
Регистрация: 13.05.2012
Сообщений: 130
02.08.2013, 17:53 #2
можно так
C++
1
2
3
char arr[]={'A','B', 'C', 'D', 'F'};
    vector<char>ivec;
    ivec.insert(ivec.end(),arr,arr+5);
1
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 17:56  [ТС] #3
Это ясно. А более явным образом?

Что то вроде инициализации обычного массива

C++
1
// vector<char>ivec = { ... };
0
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
02.08.2013, 17:58 #4
art1535, в С++11 можно и так.
0
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
02.08.2013, 18:01 #5
Цитата Сообщение от Valentina Посмотреть сообщение
C++
1
2
3
char arr[]={'A','B', 'C', 'D', 'F'};
    vector<char>ivec;
    ivec.insert(ivec.end(),arr,arr+5);
Тогда уж сразу можно
C++
1
2
char arr[]={'A','B', 'C', 'D', 'F'};
    vector<char>ivec(arr,arr+5);
0
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:01  [ТС] #6
Просто мне тогда не понятно одно: если пользоваться способом
C++
1
2
3
    char arr[]={'A','B', 'C', 'D', 'F'};
    vector<char>ivec;
    ivec.insert(ivec.end(),arr,arr+5);
зачем тогда вообще нужен вектор? Можно ведь и пользоваться только этим массивом
0
Somebody
2789 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
02.08.2013, 18:04 #7
Цитата Сообщение от art1535 Посмотреть сообщение
зачем тогда вообще нужен вектор? Можно ведь и пользоваться только этим массивом
Пользуйся массивом, кто же мешает. Ты сам хотел vector.

Добавлено через 37 секунд
Ещё string есть...
0
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:04  [ТС] #8
Со string все понятно хочется более по-человечески
0
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
02.08.2013, 18:06 #9
art1535, а почему вектор "по-человечески", а string - нет? О_о
0
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:07  [ТС] #10
Вектор по-человечески
0
0x10
2465 / 1637 / 241
Регистрация: 24.11.2012
Сообщений: 4,040
02.08.2013, 18:16 #11
art1535, сорри, я там сразу фигню написал, исправил.
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2013, 18:16 #12
Цитата Сообщение от art1535 Посмотреть сообщение
зачем тогда вообще нужен вектор?
Вектор - класс с автоматческим управлением памятью, в отличие от обычного массива. Плюс готовые методы для использования.
1
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:18  [ТС] #13
alsav22, после чистого С, к некоторым особенностям в С++ до сих не привыкну
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.08.2013, 18:22 #14
Цитата Сообщение от art1535 Посмотреть сообщение
к некоторым особенностям в С++
Это не особенности. Это ООП.
0
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:35  [ТС] #15
Остановился все-таки на этом варианте

C++
1
2
3
    char arr[]={'A','B', 'C', 'D', 'F'};
    vector<char> alf;
    alf.insert( alf.begin(), arr, arr + sizeof( arr ) );
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 18:35
Привет! Вот еще темы с ответами:

Инициализация char в классе - C++
Не понимаю, как поместить символьный массив в класс. На выводе получаются случайные символы. class Person { char last_name; public: ...

Инициализация char массива - C++
Мне нужно объявить и инициализировать массив char'ов. К примеру, char *m_words={'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'}; ...

Инициализация char в конструкторе - C++
class Abit { public: Abit(); ~Abit(); protected: private: bool medal;

Unsigned char to vector - C++
{ vector&lt;byte&gt; resBuffer; unsigned char buffer; //string reply; //Receive a reply from the server if(...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
02.08.2013, 18:35
Ответ Создать тему
Опции темы

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