摘要: c++中函数对象,其实就是C中函数指针,也就是()的运算符重载函数 因此把 有operator() 重载函数的对象称作函数对象 与C语言的 函数指针相比 // C 语言函数指针的做法 // 即使写出inline 函数 但是当作为函数指针时,也无法内联 template<typename T> inl 阅读全文
posted @ 2020-09-01 19:55 睡觉lc 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 背景 : c++ 多态可以大致分为两种: 继承(动态的多态) 模版(静态的多态) 分类 : 函数模版 类模版 函数模版 : // 普通函数 void Swap(int & a, int & b) { int tmp = a; a = b ; b = tmp; } // 函数模版 template < 阅读全文
posted @ 2020-09-01 19:15 睡觉lc 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 首先const 修饰的变量不能在作为左值,初始化之后不能在修改 在C语言中 :const int a = 20 这个a 只能叫做常变量,不能作为数组的大小开辟内存 ,并且通过指针就可以修改 (可以不初始化) const int a = 20; int *p = (int *) &a; *p = 30 阅读全文
posted @ 2020-09-01 17:36 睡觉lc 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一 :new 与 malloc 的区别 malloc 是按字节开辟的,new是按类型开辟内存的 malloc 返回的void* , 而new 会返回指定类型的地址 malloc 只负责开辟内存,new 不但开辟内存,还可以初始化。 malloc 开辟内存失败返回NULL, 而new 会抛出异常 ma 阅读全文
posted @ 2020-09-01 09:36 睡觉lc 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 容器迭代器 : 正向普通迭代器 :::iterator 正向常迭代器 :::const_iterator 反向迭代器 :::reverse_iterator // rbegin :最后一个迭代器的表示 rend : 第一个迭代器的前驱位置 遍历 rbegin > rend 使用++ 反向常量迭代器 阅读全文
posted @ 2020-09-01 09:06 睡觉lc 阅读(140) 评论(0) 推荐(0) 编辑