linux下练习 c++ 函数模版例子

简介: //函数模版使用 //函数模版标准不支持参数默认值 #include #include using namespace std; template void sort(T* a,int n)//普通冒泡排序 { bool ch...
//函数模版使用
//函数模版标准不支持参数默认值
#include<iostream>
#include<cstring>
using namespace std;
template <typename T>
void sort(T* a,int n)//普通冒泡排序
{
	bool changed;
	do
	{
		changed=false;
		for(int i=1;i<n;i++)
		{
			if(a[i]<a[i-1])
			{
				swap(a[i],a[i-1]);
				changed=true;
			}
		}
		--n;
	}
	while(changed);
}
template <>//模版特化
void sort(const char* a[],int n)//普通冒泡排序
{
	bool changed;
	do
	{
		changed=false;
		for(int i=1;i<n;i++)
		{
			if(strcmp(a[i],a[i-1])<0)
			{
				swap(a[i],a[i-1]);
				changed=true;
			}
		}
		--n;
	}
	while(changed);
}
//template <typename T>
//void show(T t[],int n)
template <typename T,int n>
void show(T(&t)[n])
{
	//int n=sizeof(t)/sizeof(t[0]);//算出t的个数
	for(int i=0;i<n;i++)
		cout<<t[i]<<' ';
	cout<<endl;
}
template <typename T>
void show(T t)
{
		cout<<t<<endl;
}
int main()
{
	int a[5]={6,7,8,3,2};
	
	sort(a,5);//函数模版会自动匹配,不需要显式指定类型
	show(a);
	double d=12.345;
	show(d);
	char c[5]={'b','f','k','d','a'};
	sort(c,5);
	show(c);
	const char* ca[3]={"fc","ca","ab"};
	sort(ca,3);
	show(ca);
	return 0;
}


 

相关文章
|
24天前
|
Linux
关于Linux目录访问函数总结
关于Linux目录访问函数总结
13 1
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
3天前
|
算法 Linux Shell
【linux进程(二)】如何创建子进程?--fork函数深度剖析
【linux进程(二)】如何创建子进程?--fork函数深度剖析
|
14天前
|
编译器 C语言 C++
【C++初阶(九)】C++模版(初阶)----函数模版与类模版
【C++初阶(九)】C++模版(初阶)----函数模版与类模版
18 0
|
18天前
|
C++
c++模版
c++模版
|
18天前
|
Linux 开发者
Linux文件编程(open read write close函数)
通过这些函数,开发者可以在Linux环境下进行文件的读取、写入和管理。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
85 4
|
25天前
|
存储 缓存 C++
C++链表常用的函数编写(增查删改)内附完整程序
C++链表常用的函数编写(增查删改)内附完整程序
|
27天前
|
存储 安全 编译器
【C++】类的六大默认成员函数及其特性(万字详解)
【C++】类的六大默认成员函数及其特性(万字详解)
35 3
|
30天前
|
安全 程序员 C++
【C++ 基本知识】现代C++内存管理:探究std::make_系列函数的力量
【C++ 基本知识】现代C++内存管理:探究std::make_系列函数的力量
101 0
|
30天前
|
设计模式 安全 C++
【C++ const 函数 的使用】C++ 中 const 成员函数与线程安全性:原理、案例与最佳实践
【C++ const 函数 的使用】C++ 中 const 成员函数与线程安全性:原理、案例与最佳实践
71 2