Java内存泄漏排查实战:用MAT揪出那个吃掉你6.9M内存的‘元凶’
2026/6/15 14:38:54
可变参数模板依靠递归 + 重载终止实现参数遍历:
#include <iostream> // 递归终止函数(空参数) void print() { std::cout << "\n"; } // 可变参数模板函数 template <typename T, typename... Args> void print(const T& first, const Args&... rest) { std::cout << first << " "; // 递归展开剩余参数 print(rest...); } int main() { print(1, 2.5, "hello", 'A', true); return 0; }输出:
1 2.5 hello A 1遍历所有参数并做统一操作:
#include <iostream> // 递归终止:0 int sum() { return 0; } template <typename T, typename... Args> int sum(T val, Args... args) { return val + sum(args...); } int main() { std::cout << sum(1, 2, 3, 4, 5) << std::endl; // 15 return 0; }利用模板元编程统计参数包长度:
#include <iostream> // 空参数包,长度 0 template <typename... Args> st