Имеется шаблонная функция, принимающая строки
template<typename... Args>
void foo(const std::string& function, const Args&... args)
{
PGresult* exec_result = nullptr;
size_t param_count = sizeof...(args);
const char** param_pack = new const char*[param_count];
std::vector<std::string> argsv = {args ...};
for (size_t i = 0; i < argsv.size(); ++i)
{
param_pack[i] = argsv[i].c_str();
}
...
Как сформировать массив указателей на содержимое строк без вектора?
UPD1: Я извиняюсь за неточно поставленный вопрос.
Возможно ли получить массив указателей на содержимое строк не создавая промежуточных контейнеров (vector/array...), а итерируясь напрямую по args
см. Brace-enclosed initializers на cppreference.
template<typename... Args>
void foo(const std::string& function, const Args&... args)
{
...
const char* param_pack[] = { (args.c_str())... };
...
}
Ссылка на пример
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости