【发布时间】:2016-02-19 14:08:14
【问题描述】:
是否可以将元组中的所有std::string 项目转换为const char*?
template<typename... Ts>
std::tuple<Ts...> tup
我面临的问题是我尝试将可变参数模板打印到文件
fprintf(file, std::get<Idx>(tup)...)
tup 中的第一项是格式字符串(肯定是const char*),其余的是打印参数。 args 可能包含std::string。问题是fprintf 不接受std::string。如何将元组内的所有std::string 转换为const char* 并形成另一个元组?
tup 在完成打印之前不会超出范围。
【问题讨论】:
-
const char*s 的生命周期应该是多少?它们是否应该与std::string一起被销毁?是否应该动态分配它们,然后在某个时候删除它们? -
@TartanLlama 我刚刚更新了我的问题,这就是我面临的问题。
-
也许这个问题可以帮助你:stackoverflow.com/questions/29820104/… 或者这个问题:stackoverflow.com/questions/5235246/…