- 博客(14)
- 收藏
- 关注
原创 C++对象模型 学习笔记②
C++对象模型 学习笔记②构造函数语义学默认构造函数拷贝构造函数程序转化语意学总结构造函数语义学默认构造函数两大误解任何class 如果没有定义default constructor,就会被合成一个出来。编译器合成出来的default constructor 会明确设定“class 内每一个data member 的默认值” 上述两个最常见的看法,都是错误的。 默认构造函数实际上是被编译器需要的,用以实现一些多态机制,而非对类成员进行初始化(程序员的职责)。四种会合成默认构造函数的情
2022-04-05 20:28:41
789
原创 C++对象模型 学习笔记①
C++对象模型 学习笔记①知识补充内联函数static关键字静态全局变量静态局部变量静态类成员相关虚继承关于对象总结知识补充内联函数 如果在类体中定义的成员函数中不包括循环等控制结构,C++会自动将它们作为内联(inline)函数来处理。如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内联(inline )函数,如果想将这些成员函数指定为内置函数,应当用inline作显式声明。值得注意的是,如果在类体外定义inline函数,则必须将类定义和成员函数的定义都放在同一个头文件中(或者写在同
2022-03-26 23:08:55
828
原创 Linux高性能服务器编程 学习笔记⑥
Linux高性能服务器编程 学习笔记⑥高性能服务器程序框架模型C/S模型P2P模型编程框架I/O模型事件处理模型Reactor模式Proactor模式模拟Proactor模式并发模式半同步/半异步模式领导者/追随者模式有限状态机其他提高服务器性能的方法总结高性能服务器程序框架模型C/S模型 所有客户端通过访问服务器来获取所需的资源。实现简单,但是使服务器成为通信中心,访问量较大时,所有客户端响应都变慢。工作流程如下:P2P模型 让网络上的所有主机重新回到对等的地位,每台主机既是客户端又
2022-03-26 21:16:51
1389
原创 小知识大杂烩②
小知识大杂烩②编码相关总结编码相关ASCII 最初的计算机编码。一般使用 7 个或 8 个二进制位进行编码,最多可以给 256 个字符分配数值。例:A 十进制码 65(0x41) ;a 十进制码 97(0x61)Unicode 将世界上所有语言的大部分常用字符都赋予了数值,但是其只是建立了字符与数值间的对应关系,并不是编码结果(常常是其他编码方式通过使用 Unicode 编码将字符转化为数值然后再编码)。BOM(Byte Order Mark) BOM 是字节顺序标记,Unicode
2021-12-01 21:41:59
205
原创 Linux高性能服务器编程 学习笔记⑤
Linux高性能服务器编程 学习笔记⑤Linux 服务器程序规范日志总结Linux 服务器程序规范日志总结 这是我自己整理的学习笔记,主要用于自我复习。如果有大佬也看到了这个并且发现了谬误,欢迎email me at lonelytaoist@qq.com。...
2021-11-07 19:52:53
148
原创 Linux高性能服务器编程 学习笔记④
Linux高性能服务器编程 学习笔记④Linux 高级 I/O 函数pipe 函数dup & dup2 函数readv & writev 函数sendfile 函数mmap & munmap 函数splice 函数tee 函数fcntl 函数总结Linux 高级 I/O 函数pipe 函数 dup & dup2 函数 readv & writev 函数 sendfile 函数 mmap & munmap 函数 splice 函
2021-11-07 17:38:20
125
原创 设计模式——六大原则
设计模式——六大原则单一职责原则里氏代换原则依赖倒置原则接口隔离原则迪米特原则开闭原则总结单一职责原则 一个类只负责一个功能领域中的相应职责。即对一个类而言,应该只存在一个引起它变化的原因(多个职责若总是同时发生改变则可将它们封装在同一类中)。 此原则可降低类的复杂度、提高类的可读性、提高系统的可维护性并且使变更引起的风险降低。这是实现高内聚低耦合的关键。里氏代换原则 依赖倒置原则 接口隔离原则 迪米特原则 开闭原则 一个软件实体应当对扩展开放,对修改关闭。即软件实体
2021-10-12 22:40:29
86
原创 Linux高性能服务器编程 学习笔记③
Linux高性能服务器编程 学习笔记③Linux 网络编程基础 APIsocket 地址 API总结Linux 网络编程基础 APIsocket 地址 API总结 这是我自己整理的学习笔记,主要用于自我复习。如果有大佬也看到了这个并且发现了谬误,欢迎email me at lonelytaoist@qq.com。...
2021-09-05 21:24:51
192
原创 Linux高性能服务器编程 学习笔记①
总结 这是我自己整理的学习笔记,主要用于自我复习。如果有大佬也看到了这个并且发现了谬误,欢迎email me at lonelytaoist@qq.com。
2021-08-08 20:23:55
394
原创 Git学习笔记③
Git 学习笔记③Git 分支管理使用技巧更人性化地输出 log 日志对比差异Git 分支管理使用技巧更人性化地输出 log 日志 我们可以通过 git log --graph --pretty 命令使得输出的 log 日志更加人性化。 注意,一些我们个人常用但是又比较难以输入的命令,我们可以使用 alias 配置简化其输入。例如命令 git config --global alias.lg "log --graph --pretty" 便将我们上述讲的命令简化为了 git lg ,之后我们
2021-07-11 15:07:38
80
原创 Git 学习笔记②
Git 学习笔记②Git 远程操作连接远程仓库 GitHub生成秘钥、公钥GitHub 上添加公钥总结Git 远程操作连接远程仓库 GitHub生成秘钥、公钥 Git 远程库一般使用 SSH 协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。它已成为每台 linux 电脑的标准配置。 我们在控制台输入 ssh-keygen -t rsa 命令用于 ssh 生成 rsa 算法秘钥,然后所有密码为空(三个回车)。之后我们可以在 ~/.ssh 下找到 id_rsa 秘钥和 id
2021-07-07 22:44:41
91
原创 Git 学习笔记①
GIT学习笔记①Git 是一个开源的分布式版本控制系统,用于高效地处理项目的多人开发和版本控制问题。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,它采用了分布式版本库的方式,不必服务器端软件支持。 著名的 GitHub 就主要提供基于 git 的版本托管服务。
2021-07-06 10:45:32
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人