随笔分类 -  重学C++

21年9月重学C++
摘要:一、transform算法&lambda表达式 1、两个重载版本 transform(first,last,result,op);//first是容器的首迭代器,last为容器的末迭代器,result为存放结果的容器,op为要进行操作的一元函数对象或sturct、class。 transform(f 阅读全文
posted @ 2021-10-05 16:38 学学学学学ll 阅读(46) 评论(0) 推荐(0)
摘要:一、泛型编程 1、如果说面向对象是一种通过间接层来调用函数,以换取一种抽象,那么泛型编程则是更直接的抽象,他不会因为间接层而损失效率; 不同于面向对象的动态期多态,泛型编程是一种静态器多态,通过编译器生成最直接的代码; 泛型编程可以将算法与特定类型、结构剥离,尽可能复用代码。 2、例子 templa 阅读全文
posted @ 2021-09-30 16:47 学学学学学ll 阅读(43) 评论(0) 推荐(0)
摘要:一、void*、NULL、nullptr 1、c++11中,nullptr代替(void*)0,NULL只表示0 2、代码(vs2015中结果) #include"stdafx.h" void func(void* i) { cout << "func(void* i)" << endl; } vo 阅读全文
posted @ 2021-09-29 11:21 学学学学学ll 阅读(53) 评论(0) 推荐(0)
摘要:软件设计模式(23种可复用) 一、单例模式:整个程序中有且只有一个实例 1、常见场景:系统日志、windows资源管理窗口、数据库分配主键操作 2、代码 Singleton.h #pragma once #include"stdafx.h" class Singleton { public: sta 阅读全文
posted @ 2021-09-28 21:00 学学学学学ll 阅读(39) 评论(0) 推荐(0)
摘要:一、二进制文件操作 例子: #include<string> #include<fstream> #include<istream> using namespace std; static const int bufferLen = 2048; bool CopyFile(const string 阅读全文
posted @ 2021-09-27 22:10 学学学学学ll 阅读(43) 评论(0) 推荐(0)
摘要:一、运算符的重载、拷贝构造、临时对象优化 假如有个叫Complex的类,下面是他的加法重载 Complex Complex::operator+ (const Comples &x) { Complex tmp; tmp._real=_real+x._real; return tmp; } 此处多了 阅读全文
posted @ 2021-09-27 19:30 学学学学学ll 阅读(46) 评论(0) 推荐(0)
摘要:总结 一、指针&引用 1、左值:编译器单独分配了一块存储空间,可以取其地址的,左值是可以放在赋值运算符左边; 右值:指的是数据本身,不能去到其自身地址,右值只能赋值运算右边。 2、const 修饰的部分:看左边最近的部分,如果没有看右侧 3、野指针:指针变量没有初始化;已经释放的指针没有置nullp 阅读全文
posted @ 2021-09-27 15:49 学学学学学ll 阅读(49) 评论(0) 推荐(0)