|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||||||
Конвертирование std::vector в TByteDynArray и обратно23.10.2018, 11:48. Показов 2158. Ответов 17
Метки нет (Все метки)
Приветствую всех. Есть вектор байт (
std::vector<BYTE>). Необходимо создать переменную типа TByteDynArray с содержимым вектора. После работы с этой переменной ее содержимое необходимо отправить в вектор.Из TByteDynArray в вектор отправку делаю так:
0
|
||||||
| 23.10.2018, 11:48 | |
|
Ответы с готовыми решениями:
17
Ошибка: E2034 Cannot convert 'int' to 'std::vector<std::vector<TRabbitCell,std::allocator<TRabbitCell>>...
Как передать целочисленную матрицу типа std::vector<std::vector<int> > в функцию? |
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,257
|
|
| 23.10.2018, 12:08 | |
|
А какая у Вас среда?
0
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 23.10.2018, 13:06 [ТС] | |
|
0
|
|
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,257
|
||||||
| 23.10.2018, 14:11 | ||||||
0
|
||||||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||
| 23.10.2018, 15:51 [ТС] | ||
|
Добавлено через 11 минут FFPowerMan, за код, конечно, спасибо. Но так я и сам мог. Чувствуется, нет простого способа осуществить то, что мне надо. Хотя есть вариант вообще не использовать TByteDynArray...
0
|
||
|
Супер-модератор
|
||||||
| 23.10.2018, 20:40 | ||||||
Сообщение было отмечено d7d1cd как решение
Решение
3
|
||||||
| 23.10.2018, 21:07 [ТС] | |
|
Не по теме: volvo, вот расскажите, откуда я мог узнать о таком способе? Такое дается только с опытом или я как то неправильно ищу?
0
|
|
|
|
|
| 23.10.2018, 22:39 | |
|
Надо смотреть исходники вероятно что бы знать.
Хотя можно нарыть темы вроде этой: BytesToRaw (Indy 10) Добавлено через 5 минут Да тут вообще вопрос зачем тогда вектор если есть массив байт ... Почему не использовать что-то одно?
1
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||
| 24.10.2018, 07:35 [ТС] | ||
|
0
|
||
|
Супер-модератор
|
||
| 24.10.2018, 11:58 | ||
|
0
|
||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 24.10.2018, 12:55 [ТС] | |
|
volvo, а как быть, если я переделаю сейчас код под массив байт, а потом новая добавляемая возможность "захочет" вектор? Я не спорю, просто возник такой вопрос.
0
|
|
|
Супер-модератор
|
|
| 24.10.2018, 13:03 | |
|
У тебя всего два варианта: 1) либо переводить все на TByteDynArray (или TMemoryStream), потому что только с ними работает TIdTCPClient, и все новые фичи тоже реализовывать с использованием этих сущностей, либо 2) использовать для фич любые средства, которые тебе удобны, но тогда придется написать (и использовать ВСЕГДА при работе с TIdTCPClient) некий класс-прокси, который будет принимать std::vector (или какой-нибудь другой контейнер, или вообще один из нескольких контейнеров), и передавать TIdTCPClient те же данные но в виде TByteDynArray. Тогда, если тебе вздумается потом при очередном обновлении функционала использовать std::queue, допишешь в этот класс метод, принимающий std::queue, и конвертирующий его в TByteDynArray. один раз написал, и потом используешь постоянно, не задумываясь о том, как что и где преобразовывать (этим будет заниматься прокси-класс).
1
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 24.10.2018, 13:30 [ТС] | |
|
По сути, сейчас получилось по второму варианту. У меня есть функция, которая осуществляет обмен информацией с устройством по выбранному каналу связи. Раньше там был только последовательный порт, теперь добавился TCP/IP канал. Эта функция работает с вектором. Для работы с TCP/IP внутри этой функции буду использовать TByteDynArray.
0
|
|
|
|
||
| 24.10.2018, 19:03 | ||
|
Касательно скорости тяжело гадать, скорее всего компилятор все оптимизирует.
1
|
||
| 24.10.2018, 19:03 | |
|
Помогаю со студенческими работами здесь
18
Вывести значения std::vector<std::vector<int*> > Как изменять размер std::vector<std::vector>? Std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> Выделение памяти для вектора std::vector<iris> *v = new std::vector<iris>
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|