C++ 提高教程 模板-普通函数与函数模板调用规则

Posted 行码阁119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 提高教程 模板-普通函数与函数模板调用规则相关的知识,希望对你有一定的参考价值。

# include<iostream>

using namespace std;
//普通函数与函数模板那调用规则
//1、如果函数模板课普通函数都可以调用,优先调用普通函数
//2、可以通过空模板参数列表 强制调用 函数模板
//3、函数模板可以发生函数重载
//4、如果函数模板可以发生更好的匹配,优先调用函数模板
void myPrite(int a, int b)
{
	cout << "/调用普通函数" << endl;
}

template<typename T>
void myPrite(T a, T b)
{
	cout << "调用模板函数" << endl;
}

template<typename T>
void myPrite(T a, T b, T c)
{
	cout << "调用重载的模板函数" << endl;
}
int main()
{

	int a = 10;
	int b = 20;
	int c = 100;

	myPrite(a, b);
	//通过空模板参数列表,强制调用函数模板
	myPrite<>(a, b);
	myPrite(a, b, 100);
	//更好的匹配
	char c1 = 'c';
	char c2 = 'd';
	myPrite(c1,c2);
	system("pause");
	return 0;
}

 

以上是关于C++ 提高教程 模板-普通函数与函数模板调用规则的主要内容,如果未能解决你的问题,请参考以下文章

C++提高编程

C++提高编程模板 or 泛型

C++学习8-C++提高编程

[学习笔记] 3. C++ / CPP提高

c++模板--让偷懒成为常态

c++模板--让偷懒成为常态