这里是作者遇到的一些C++ 编程的知识简介,可能每个条目都不全,只选取最常用的用法。
1. C++ 模板
模板格式
template <class 形参,class形参 ……> //class可以用 typename代替
返回类型名 函数名(参数列表)
{
函数体
}
举例:
类模板
template <class 形参, class 形参 ……>
class 类名
{
……
}
实例化
编译器将形参类型确定为实际的模板实参类型,并且获得了一个普通的类的过程
template <class T>
class A
{
public:
A();
void swap(T &a, T &b );
};
template <class T> A<T>::A(){}
template <class T> void A<T>::swap(T &a, T &b )
{
T temp;
temp = a;
a = b;
b = temp;
}
int main()
{
A<int> a;
int x = 0;
int y = 1;
a.swap(x,y);
std::cout<<x<<y;
}
2. explicit关键字
用来修饰只有一个参数的类构造函数,它的作用是表明该构造函数是显示的, 跟它相对应的另一个关键字是implicit, 表明是隐式的,类构造函数默认情况下即声明为implicit(隐式).