学习总结,c++ primer plus 第八章

1、内联函数

为了程序运行的高效性,将比较短小的函数设置为inline函数,在编译时直接进行替换,而不是在执行时再进行函数调用,这样节省了运行时间。

2、引用

引用是一别名,对引用的操作会直接影响到相应的内存值。在函数传参时,引用可以不用复制内存块,对于结构比较大的类型来说,比较划算。

3、默认参数

函数定义时,设置默认参数,这样在调用函数时,可以不输入这个参数,而采用默认的参数。

4、函数重载、模板

重载的意思是同一个函数名,可以具有不同的处理动作,这就叫做重载,它的要求是函数的特征标不同,即参数个数或者类型至少有一个不同。如:

void swap(int &a,int &b);

void swapint *a,int *b,int n;

对于执行类似的操作的函数,但是操作值类型不同时,如int char double…,可以用设置函数模板。程序在运行时,根据函数模板实例化函数。

template <typename T>//声明

void swap(T &a,T &b);

 

main()//主函数

{

    ****

    

}

 

template <typename T>//定义

void swap(T &a,T &b)

{

    T temp;

    temp=a;

    a=b;

    b=temp;

}

5、模板重载

模板的要点在于操作数使用共同的算法,即有共同点采用模板以降低代码冗余。

而重载的要点在于操作的名称相同,即函数名字相同。对于不同的操作数需要使用相同含义的函数,但是具体操作不同,这时候可以用模板重载。如

template <typename T>

void swap(T &a,T &b);

 

template <typename T>

void swapT *a,T *b,int n;

6、函数模板具体化

编写的模板有可能无法处理某些类型(总有特殊情况),即只好特别声明一个模板来处理这种情形。程序运行时,程序选择有优先级:非模板>显示具体化>模板

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没的感情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值