Передача данных отдельным блоком?

Мне нужно передать сразу некоторый блок данных в другую функцию.
Основная проблема в том, чтобы не использовать при этом структуру или класс. Так как передача происходит лишь в одном фрагменте огромного кода, громоздить что-то из этого не хочется.

Хотел прибегнуть к лямбде, но так и не нашел способ вытянуть значения при передаче указателя.
Передавать значения не блоком, а частями, тоже не подходит, так как вполне вероятно переменных в будущем будет становится все больше и больше.

Пример: переменные A, B, C, D разных типов передать один раз в функцию F для обработки данных
Задача: не использовать структуры и классы, суметь обработать все значения.

Недавно в каком-то коде видел подобную структуру - func({int A, int B}, float C).
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Основная проблема в том, чтобы не использовать при этом структуру или класс. Так как передача происходит лишь в одном фрагменте огромного кода, громоздить что-то из этого не хочется.

Странная фобия. Примите успокоительное и напишите-таки структуру, специально для таких взаимодействий и придуманную. Вы на этот вопрос потратили больше сил, чем на правильное (то есть поддерживаемое) решение своей задачи. Нагромождение уловок для такой фигни, просто чтобы в описании класса не появилось шесть лишних строчек, будет куда большим злом. Особенно - если
переменных в будущем будет становится все больше и больше.
Ответ написан
Комментировать
@vizionaire
Можно воспользоваться char*

typedef char* pbyte;
func(pbyte pblock, int len); //len - длина данных
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы