c++
使用模板实现简单的 print 函数。需要 C++17
以上。
template<auto Sep = ' ', typename First, typename... Args>
void print(const First& first, const Args&... args) {
std::cout << first;
auto outWithSpace = [](const auto& arg) {
std::cout << Sep << arg;
};
(..., outWithSpace(args));
std::cout << '\n';
}
// 使用如下
print("驭鲸环球","cheungxiongwei") // prints: 驭鲸环球 cheungxiongwei
// 替换分隔符号
static const char sep[] = ", ";
print<sep>("驭鲸环球", "cheungxiongwei"); // prints: 驭鲸环球, cheungxiongwei