ничем, нет такого типа
ну а как заменять тем что делаем в джаве. например сделать массив Object arr[] = new Object{33,"hello",2,true} ?
прям new int[] "hellow" ?
не, исправил
Никак, это не нужно
как не нужно. а как же с бд инфу доставать? все в кучу разных массивов?
ну вообще по хорошему да, структура бд же известна
Пишешь структурку что повторяет типы бд
std::any arr[]{33, "hello", 2, true};
но для плюсов это не идиоматично, так что так писать не надо
пишет что такого нету
Создаешь класс GenericValue и от него GenericString, GenericInt и т.д. )))
там обычно делают какой-то свой тип, который variant над всеми возможными типами в субд
#include <any>
примерно как и с Json
И стандарт 17 и выше
у меня посл студия но не помогло
Делают иерархию хранимых типов объектов. И хранят в контейнере указатели (возможно, умные) на базовый класс этой иерархии.
Как правило, вы знаете структуру и типы таблиц точно, поэтому вам не нужен массив "каких-то" объектов, вам нужна структура с объектами конкретных типов Потому что первый подход низкоуровневый, провоцирует копипасту, повышает риск логических ошибок и имеет неясные перспективы Цена же хорошего решения – это обычно велосипед, именно это позволяет выживать первому подходу
Поставь стандарт в настройках проекта
возможно поможет чтение литературы по С++
В БД не бывает разнотипных объектов в таблице.
то есть для каждого столпчика бд делать свой массив нужного типа?
нет, чтение из бд обычно строками идёт
ну сразу читать, переводить в нужный тип и по массивам?
каждая строка это структура определённого вида
Для строк. Но да, свою структуру и, например, оперировать вектором таких структур – да. Для более обобщенного подхода подойдёт tuple, но этот код будет иметь значительно меньшую выразительность и вряд ли окажется хорошей идеей в прикладном использовании
Обсуждают сегодня