Modern-Cpp-templates-tutorial icon indicating copy to clipboard operation
Modern-Cpp-templates-tutorial copied to clipboard

关于模板展开的想法

Open Toin1779712664 opened this issue 1 year ago • 3 comments

第一章中的模板展开为什么不使用通俗易懂的方式让新晋模板选手可以更好的理解呢? 第一章内容如下:

template<typename...Args>
 void print(const Args&...args){    
     int _[]{ 0, (std::cout << args << ' ' ,0)... };
 }

更改通俗易懂的代码示例:

template<typename T>
void print(T& t){
    cout<<t<<endl;
}
template<typename...Args>
void print(const Args&...args){
    (cout<<...<<args);
}

这样的代码难道不比上面多声明一个数组的方式更好吗?

Toin1779712664 avatar Nov 15 '24 02:11 Toin1779712664

@Mq-b

Toin1779712664 avatar Nov 15 '24 02:11 Toin1779712664

你是不是对 “通俗易懂” 有什么误解?

Mq-b avatar Nov 15 '24 02:11 Mq-b

仅需要先了解下,“副作用”和“逗号表达式”。同时我觉得二元折叠表达式在模板初学者看来并不比形参包展开更通俗易懂。当然什么更易懂本来就是个主观问题。

Yuzhiy05 avatar Nov 15 '24 02:11 Yuzhiy05