-
STL
标准库里有一门语言最基础的数据结构,链表等。
http://c.biancheng.net/stl/
-
pragma once

-
template
https://www.runoob.com/cplusplus/cpp-templates.html
-
const & (常引用,不能改变)
https://zhidao.baidu.com/question/204415638.html
template< class T > inline T const & max( T const & a, T const & b )
首先这是一个函数模板,用于比较T类型两个变量a,b的大小。
inline内联函数见下文
const修饰的变量表示一个常量,即,这个变量无法被改变。
第一个const说明,这个函数的返回值是一个不能被改变的变量,&是对该变量的引用。
函数参数中两个const &,用引用可以减少数值传递过程中的消耗,而const确保了这个引用的值在使用时不被改变。
-
inline
https://www.runoob.com/w3cnote/cpp-inline-usage.html
在 c/c++ 中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。
栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。
看了说明,大概如此:
原理:内联,使用代码膨胀(复制)为代价,仅仅省去了函数调用的开销,从而提高函数的执行效率;本质上就是,本来是调用函数,但是会把调用函数变成直接把函数体中内容复制出来调用。
建议使用的地方:在循环中频繁调用的短小方法。其他情况不建议使用。
类中的成员函数与inline:

-
friend class
允许被声明友元的类调用本类的private 和 protected内容。
-
智能指针与普通指针
智能指针的功能也可以通过普通指针实现

-
坑1:模板类中方法的实现,必须在头文件中,不然就报错:LNK2019无法解析的外部文件
网友评论