创建: 2020/02/03 模板函数 不固定类型的函数(根据类型自动重载) template <class Ttype> 返回值类型 函数名(参数) { ... } ● Ttype是占位符, 可以在函数里用, 实际编译器实际生成函数时会换成具体的数据类型 // 也可以把class改成typenam ...
分类:
编程语言 时间:
2020-02-03 09:47:11
阅读次数:
97
算法(Algorithm):STL算法主要由头文件<algorithm>,<numeric>和<functional>组成 <algorithm> 比较、交换、查找、遍历、复制、修改、反转、排序、合并等等算法 <numeric> 只包括几个在序列上进行数学运算的模板函数,加法、乘法等 <functi ...
分类:
编程语言 时间:
2019-12-28 18:57:15
阅读次数:
81
1.如果模板函数和普通函数都可以实现,则优先调用普通函数。 2.可以通过空模板参数列表来强制调用模板函数; 3.函数模板也可以重载; 4.如果函数模板可以产生更好的匹配,优先调用函数模板; #include<iostream> using namespace std; int myAdd(int a ...
分类:
编程语言 时间:
2019-12-27 11:34:22
阅读次数:
74
1.普通函数调用时可以发生自动类型转换(隐式类型转换); 2.函数模板调用时,如果利用类型自动推导,不会发生隐式类型转换; 3.如果利用显示指定类的方式,可以发生隐式类型转换; #include<iostream> using namespace std; int myAdd(int a, int ...
分类:
编程语言 时间:
2019-12-27 11:16:21
阅读次数:
76
Why Make_shared ? C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ? 优点 效率更高 shared_ptr ...
分类:
编程语言 时间:
2019-12-15 23:31:27
阅读次数:
168
函数模板存在的意义;如果同一函数,参数类型有所不同,相同的功能可能会定义多个函数实例,这十分繁冗 #include<iostream> using namespace std; void swap(int &a,int &b) { int temp = a; a = b; b = temp; } v ...
分类:
编程语言 时间:
2019-12-15 18:21:00
阅读次数:
101
函数探幽 内联函数 + c++为提高程序运行速度的一项改进。 + 非内联函数在调用时来回跳跃并记录产生了一定的开销。 + 内联函数编译器将使用相应的函数代码替换函数调用。无需跳到另一个位置去执行代码。 + 内联函数运行速度比常规函数稍快,但代价是占用更多内存。 + 如果程序在10个不同的地方调用同一 ...
分类:
其他好文 时间:
2019-11-30 00:21:40
阅读次数:
114
1.函数重载 相同作用域下,有多个函数名相同,但形参列表不同的函数,常用于处理功能相同但数据类型不同的问题 函数重载的规则: 函数名必须相同 函数形参列表必须不同(可以是参数个数不同,或者数据类型不同,或者参数排列顺序不同) 返回值可以相同也可以不同 注意:如果函数名相同,函数形参列表也相同,只有返 ...
分类:
编程语言 时间:
2019-11-23 19:49:59
阅读次数:
83
函数模板: C++另一种编程思想称为 泛型编程 ,主要利用的技术就是 模板 C++提供两种模板机制: 函数模板 和 类模板 函数模板语法: 函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个 虚拟的类型 来代表。 语法: 函数声明或定义 解释: template 声明 ...
分类:
其他好文 时间:
2019-11-21 20:09:08
阅读次数:
79
类似JAVA中的泛型,可以实例化多种参数类型的模板 ...
分类:
编程语言 时间:
2019-11-16 23:29:07
阅读次数:
77