Задача:
Вопрос:
Может, нужно использовать другие инструменты для этой задачи? Подскажите пожалуйста какие(просьба, вариант с ostream
не предлагать)?
template<typename ... Arguments>
void tfunc(const Arguments & ... args)
{
std::stringstream ss;
//ss<<args;
}
Это легко делается при помощи fold expression:
template<typename ... Arguments>
void tfunc(Arguments const & ... args)
{
std::stringstream ss;
(ss << ... << args);
}
online compiler
Вы можете воспользоваться временным массивом для распаковки пакета параметров.
template<typename ... Args>
std::string foo(Args const & ... args)
{
std::stringstream ss;
using arr_t = int[sizeof...(args)];//Тип массива для удобства
arr_t{((ss << args << ' '), 0)...};//Создаем временный массив
return ss.str();
}
Ну, например, так:
void tfunc(stringstream&)
{}
template<typename T, typename ... Arguments>
void tfunc(stringstream& s, T t, Arguments ... args)
{
s << t << " ";
tfunc(s,args...);
}
int main(int argc, const char * argv[])
{
stringstream s;
tfunc(s,1,0.5,",,,");
cout << s.str() << endl;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
пишу программу, необходимо считывать информацию из txt файла и записывать информацию в стрктуру
Допустим я использую Bullet Physics у которого лицензия Z-Lib, в пунктах этой лицензии упоминается что я не имею право присваивать этот продукт себе,...
Как вычислить значение настолько "большого" выражения, как 308^611 (mod 899)Просто делаю алгоритм RSA на C++
Можно ли выполнять разные участки кода одной функции в разных потоках? Например: