《C和C++代码精粹》——1.11 函数重载和函数模板

简介:

本节书摘来自异步社区出版社《C和C++代码精粹》一书中的第1章,第1.11节,作者: 【美】Chuck Allison,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.11 函数重载和函数模板

C和C++代码精粹
程序清单1.4中的交换函数(swap)只有在交换整数时才有用。如果要交换两个任何系统预定义的数据类型中的对象该么办呢?C++允许定义多个同名函数,只要它们的特征不同。因此就可以为所有系统预定义的数据类型定义一个交换函数:

void swap(char &,char &);
void swap(int &,int &);
void swap(long &,long &);
void swap(float &,float &);
void swap(double &,double &);

等等。

然后就可以调用交换函数用于任何两个系统预定义数据类型对象的交换。然而,假如要实现这些函数中的每一个,不用多久就会发现正在反复地做同一件事而唯一不同的是要交换对象的类型。为了使工作更简洁并减少犯低级错误,可以定义一个模板函数来代替所有的函数。关于模板详细内容请参见第8章。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
16天前
|
存储 C++ 容器
C++STL(标准模板库)处理学习应用案例
【4月更文挑战第8天】使用C++ STL,通过`std:vector`存储整数数组 `{5, 3, 1, 4, 2}`,然后利用`std::sort`进行排序,输出排序后序列:`std:vector<int> numbers; numbers = {5, 3, 1, 4, 2}; std:sort(numbers.begin(), numbers.end()); for (int number : numbers) { std::cout << number << " "; }`
19 2
|
27天前
|
编译器 C++
C++入门指南:10分钟带你快速了解模板究竟是什么(建议收藏!!)
C++入门指南:10分钟带你快速了解模板究竟是什么(建议收藏!!)
29 0
|
28天前
|
自然语言处理 算法 前端开发
C++与Doxygen:精通代码文档化之道
C++与Doxygen:精通代码文档化之道
49 0
|
29天前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
68 0
|
30天前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
258 2
|
1天前
|
C++
【C++】在使用代码组装URL时,一定要注意的坑......
【C++】在使用代码组装URL时,一定要注意的坑......
7 0
|
1天前
|
编译器 C++
C++函数重载详解
C++函数重载详解
5 1
|
12天前
|
编译器 C语言 C++
【C++初阶(九)】C++模版(初阶)----函数模版与类模版
【C++初阶(九)】C++模版(初阶)----函数模版与类模版
18 0
|
16天前
|
程序员 C++
C++语言模板学习应用案例
C++模板实现通用代码,以适应多种数据类型。示例展示了一个计算两数之和的模板函数`add&lt;T&gt;`,可处理整数和浮点数。在`main`函数中,展示了对`add`模板的调用,分别计算整数和浮点数的和,输出结果。
12 2
|
22天前
|
C语言 C++ 容器
C调用C++代码
C调用C++代码
12 1

热门文章

最新文章