С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

02.08.2013, 17:30. Просмотров 2490. Ответов 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
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.08.2013, 18:38 #16
art1535, Зачем сначала конструировать пустой вектор, а затем вставлять значения?
C++
1
2
char arr[]={'A','B', 'C', 'D', 'F'};
 vector<char> alf(arr, arr + sizeof(arr) / sizeof(*arr));
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
02.08.2013, 18:43 #17
А что если со строкой?
C++
1
2
const char* c = "abcdefg";
std::vector<char> v( c, c+strlen(c) );
или так:
C++
1
2
const char c[] = "abcdefg";
std::vector<char> v( c, c+sizeof(c)/sizeof(*c) );
0
0x10
2485 / 1660 / 249
Регистрация: 24.11.2012
Сообщений: 4,136
02.08.2013, 18:45 #18
Говорили уже, но, блин.
C++
1
std::string s = "abc";
Я не понимаю чем не устраивает этот вариант.
0
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:45  [ТС] #19
ForEveR, ого вот это уже здорово.

Объясните, что происходит во второй строке, а именно для чего нужно это выражение:

C++
1
arr + sizeof(arr) / sizeof(*arr)
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.08.2013, 18:49 #20
art1535, Говорим, что нам нужен указатель на arr + (размер массива / размер элемента), в случае с char можно убрать / sizeof(*arr).
1
art1535
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 76
02.08.2013, 18:52  [ТС] #21
Большое спасибо
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
02.08.2013, 19:33 #22
C++
1
2
3
    std::vector<char> v(26);
    std::iota(begin(v), end(v), 'a');
    for (auto c : v) std::cout << c;
0
02.08.2013, 19:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 19:33
Привет! Вот еще темы с ответами:

Инициализация 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(...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

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