锋行_THU_SJTU

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这一篇是另一篇各种琐碎东西的笔记。

类型转换可以通过类型转换函数,或者构造函数来实现。但是一般来说类型转换指的是类型转换函数。

类型转换函数不需要声明输出类型(因为输出类型是固定的),也没有参数,同时因为不会改变类的内容,所以是const的。

explicit加到构造函数上,将使得构造函数只能用于创建类的实例,而不能用于自动的类型转换。

->符号会一直传递下去而不会消失,所以在重载->的时候,直接返回需要返回的目标的指针就可以了。会再出现->继续运算。

仿函数。(不太理解,待补充)

对于模版,类模版要指明模版的类型,但是函数模版可以自行推断类型。

成员模版就是在类里面建立可以自定义类型的方法。传入的参数要保证该方法可以正常运行。(一般都是构造函数,使得构造函数更有弹性)

模版特化就是在函数定义的时候制定模版的类型,这样当实际使用时的模版类型与特化的类型一致时,调用特化的函数版本。

模版偏特化就是部分的模版特化,包括数量上的部分特化,和类型上的部分特化。

模版模版参数(待补充)。

数量不定的模版参数(感觉跟变参差不多,待补充)。

auto自动类型。

for range是pass by value的,如果需要pass by reference则需要在类型声明上加上引用,比如for(auto& i:list) {}。

引用的大小和地址都与目标相同,但其实只是假象,其本质仍然是指针。

 

posted on 2018-06-07 16:49  锋行_THU_SJTU  阅读(106)  评论(0编辑  收藏  举报