1
33
样本3:
样本4:
请参见以下示例代码: here |
2
3
|
3
2
|
4
2
允许像Boost.Function这样的东西获取任意数量的参数 |
6
1
我已经实现了一个NDArray(N-dimensional array),它使用可变参数计数来设置方法大小。使用可变模板参数比使用可变函数参数更安全,而且我可以仅使用可变模板参数控制编译时传递给此函数的参数计数。
我还为我自制的SmartPointer实现了一个通用构造函数包装器。它覆盖了所有原始指针类型的用户定义构造函数。
这段代码似乎没有什么特别之处,这是SmartPointer初始值设定项的一部分,用于说明SmartPointer是否应在获取SmartPointer(RAII)时自动调用指针的构造函数。对于抽象类,它无法调用构造函数。 因此,如果我有一个类型AbstractObject,它是一个抽象类的SmartPointer,和一个类型ConcreteObject,它是一个构造函数为两个整数的类的SmartPointer,我可以编写以下代码:
它类似于C#和Java(但使用RAII),在C++/GCC4.8=)中对我有效 |
7
0
|
8
0
其他答案中提到了类型安全printf,但更一般地说,可变模板可用于实现格式化函数,这些函数根本不需要通过格式说明符传递类型信息。例如 C++ Format library 实现类似于Python的格式化函数 str.format :
除了安全的printf。在C++11中使用可变模板自动捕获参数类型。
你可以简单地使用
免责声明 当前位置我是这个图书馆的作者 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |