C++之可变模板参数打印及Pari的逐块式构造(Piecewise Construction)
class Foo { public: Foo(tuple<int, double>) { cout << "Foo(tuple<int, double>)"<< endl; } template <typename T> void print(T t) { cout << t << endl; } template <typename T, typename ...Args> void print(T t, Args... args) { cout << t << endl; print(args...); } template <typename... Args> Foo(Args... args) { cout << __FUNCTION__ << "Foo(Args... args)"<< endl; //int arr[] = {(print(args), 0)...}; print(args...); } };
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
auto tp = make_tuple(1,2.22);
pair<int, Foo> p1(42, tp);
pair<int, Foo> p2(piecewise_construct, make_tuple(41), tp);
return a.exec();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人