//函数声明 虚拟的类型T
template void Swap(T&,T&);
/**
*使用模板技术实现变量交换值
*/
template//模板头
void Swap(T &a,T &b)
{
T temp=a;
a=b;
b=temp;
}
作用:函数重载,减少代码量
#include <iostream>
#include <array>
using namespace std;
template<typename T> void Sort(T num[], int len);
//有了它,就不再需要一下内容
//void swap(int[], int);
//void Sort(float[], int len);
//void Sort(double[], int len);
int main()
{
int nums[] = { 15, 36, 54, 25, 62, 55 };
Sort(nums,6);
cout << nums[1] << endl;
}
template<typename T>
void Sort(T nums[], int len)
{
T temp;
for (int i = 0; i < len - 1; i++){
for (int j = 0; j < len - 1; j++){
if (nums[j]>nums[j + 1]){
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
}
const:
const string& GetNickName() const{return m_NickName;}
1 方法前的const:表示返回值是一个const常量-只读
2 方法后的const:表示方法不可以修改类成员的值
来自大佬们的建议:尽量使用引用,尽量在代码早期根据情况使用const