普通函数和函数模板的区别

阅读 49

2022-02-28

template <class T>//模板
T myAdd(T a, T b) {
	return a + b;
}


int myAdd1(int a, int b) {
	return a + b;
}

void test() {
	int a = 10, b = 63;
	char c = 'a';
	cout << myAdd1(a, c) << endl;//1,普通函数会发生隐式类型转换
	//cout << myAdd(a, c) << endl;//2,自动推导函数模板不会发生隐式类型转换
	cout << myAdd<int>(a, c) << endl;//2,显示定义函数模板会发生隐式类型转换
}

int main() {
	test();
	return 0;
}

精彩评论(0)

0 0 举报