|
3 / 3 / 1
Регистрация: 04.04.2018
Сообщений: 351
|
||||||
Vector<string> в string02.05.2019, 22:11. Показов 54800. Ответов 40
Метки нет (Все метки)
Как преобразовать vector<string> в string?
Думаю легко и я видимо не умею гуглить...
0
|
||||||
| 02.05.2019, 22:11 | |
|
Ответы с готовыми решениями:
40
Доступ к паре в map<string, vector<pair<string, string>>>Temp
Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()? |
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||||
| 04.05.2019, 21:03 | ||||
|
Значит и как переносить - тоже. С практической точки зрения важны только удобство и производительность(именно в таком порядке т.к. большинство - пользователи, а не разработчики). Вот решение notAll - самое удобное, а с точки производительности - наоборот.
0
|
||||
|
Комп_Оратор)
|
|||||||||
| 04.05.2019, 21:40 | |||||||||
С другой стороны, если бы был += (с ссылкой на объект результат), то всё копировалось бы в зарезервированную область. У списка её нет, но это частный случай, неудачный для пояснения ситуации. А выполнить += свободной операцией нельзя, ей нужен объект. Добавлено через 5 минут
0
|
|||||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|
| 04.05.2019, 22:43 | |
|
0
|
|
|
Комп_Оратор)
|
||
| 05.05.2019, 00:14 | ||
|
1
|
||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||
| 05.05.2019, 00:23 | ||
|
А посимвольное копирование это про внутреннюю реализацию что для insert что для чего-то другого.
0
|
||
|
Комп_Оратор)
|
|||||||
| 05.05.2019, 00:31 | |||||||
0
|
|||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||
| 05.05.2019, 09:15 | ||
|
0
|
||
|
Комп_Оратор)
|
|||||||
| 05.05.2019, 09:54 | |||||||
|
У списков есть resize имеющий ту же семантику. Но боль в том, что вся стандартная библиотека - зверинец разношерстной фауны. Присмотритесь. Разные названия для сходных семантик, разные порядки задания аргументов(!)... Метод копирования требует пары для интервала источника а затем итератор назначения а метод вставки - сначала итератор назначения а потом пару итераторов источника. Это значит, что эффективно работать без применения таких вот трюков (не простых) нельзя. И это сделано людьми для людей. Вот более полная специализация для списка, которая учитывает заблаговременную аллокацию путём ресайз (нужно раскомментировать вызов) :
0
|
|||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||
| 05.05.2019, 13:58 | |||
|
0
|
|||
|
Комп_Оратор)
|
|||
| 05.05.2019, 14:16 | |||
|
вектор строк -> строка векторе списков -> список список строк -> строка список векторов -> вектор список списков -> список хух... хорошо, что нету строк векторов/списков (из коробки). то или со временем вы измените своё мнение или нет. Стратегии на наследовании потребовали бы кучи наследников и их комбинаций. А стратегия на шаблонах, легко конфигурируются на типах при использовании, легко расширяется в процессе разработки по мере надобности не затрагивая клиентский и уже наработанный библиотечный код.
0
|
|||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||||
| 05.05.2019, 14:26 | ||||
|
1
|
||||
|
Комп_Оратор)
|
||||
| 05.05.2019, 15:17 | ||||
S_el, я не говорю, о том, что нужно писать библиотеки на каждом шагу. Но обилие хардкода в современном мэйнстриме зашкаливает. Это не только генерённый код. Это код, который пишут вполне квалифицированные программисты под давлением сроков и прессинга. Истина где-то есть, но я не стал бы искать её в этой теме, говоря об уровне абстракции для конкретного случая. Всё хорошо, когда оно хорошо.
0
|
||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||
| 05.05.2019, 16:27 | |||
insert это универсальное решение для вставки. Для добавления в конец универсальное решение должно называть либо push_back или, как уже выяснили, append. Любое более специализированное решение будет не менее эффективным более общего. Поэтому за вставку в любую позицию приходится чем-то платить. И если все что вам нужно это добавить что-то в конец использовать insert - избыточно. Поэтому нет, я не мог сказать что push_back универсальнее чем insert и действительно не говорил это. Вот моя цитата:
0
|
|||
|
Комп_Оратор)
|
||||||||
| 05.05.2019, 19:26 | ||||||||
|
Это потому что кто-то решил что список не должен выделять "сладкие" сплошные куски (они-де для массивов-векторов), а списки могут и побомжевать отдельными кускочками. Зачем же это резервировать. Пусть дескать берут то, что есть на данный момент. Но у списков есть важная черта, - возможность работать с адресами (валидность итераторов после любых операций не удаляющих по этим адресам). Это пошло побоку. Люди думают за других! Так же и accumulate не делает резервирования и если не сделать руками то код будет слабый. С insert та же проблема. Если реализовано хорошо то не должно быть разницы между пушами и вставкой. Просто пуши - синтаксический сахар использующий инсёрт максимально эффективно для данного типа контейнера. Поэтому ваши рассуждения звучат для меня странно. А теперь такое же уверенно-категоричное суждение: "Что бы собрать строку из строк не нужно так заумствовать!!" ![]() Мой ответ значительно мягче, чем мог бы быть. Добавлено через 27 минут
0
|
||||||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||||
| 05.05.2019, 20:05 | |||||
numeric, т.е. основное предназначение работа с числами.
1
|
|||||
|
Комп_Оратор)
|
|||||
| 05.05.2019, 20:24 | |||||
1
|
|||||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
|||||
| 05.05.2019, 21:05 | |||||
|
Я не согласен с выбранным вами подходом исключительно из практических(скорость написания, удобство, ...), а не академических соображений, но именно это - дело вкуса. Кому-то нравятся значащие отступы (Python, F#), кто-то (например я) - такой подход терпеть не может. Кого-то раздражает что экспортируемые вещи в Go начинаются с заглавной буквы, а кто-то - восторгается таким изящным подходом. Поэтому наша дискуссия не про содержание (здесь я с вами солидарен), но исключительно про форму. Вы меня убедили что insert - грамотный выбор для решаемой вами задачи(получить краткое, но эффективное решение) и сделан из практических соображений(нет у строк перегрузки для push_back и желание получить более универсальное решение).
1
|
|||||
|
Комп_Оратор)
|
||
| 05.05.2019, 22:26 | ||
|
Тут есть аналогия с тем, что многие думают, что += для строк работая по ссылке имеет дело с одной исходной строкой. А это сбывается лишь если память загодя зарезервирована. Иначе ссылка как демон, она вроде есть, ан - хвать и нету ея! (Ионан Васильевич меняет прошивку кмоп ).
0
|
||
|
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
|
||
| 05.05.2019, 23:30 | ||
|
Пример на векторах - https://ideone.com/ej4mM5
1
|
||
|
Комп_Оратор)
|
||
| 05.05.2019, 23:43 | ||
|
0
|
||
| 05.05.2019, 23:43 | |
|
Помогаю со студенческими работами здесь
40
Как перебрать все элементы в map<string, vector<string>>
Перенос данных c vector<string> в vector<double> Vector and string Vector в string Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|