C++
文章平均质量分 94
学习笔记
奇妙-
小笔记
展开
-
【同步&异步可并发日志系统】设计及实现
本项⽬主要实现⼀个⽇志系统,其主要⽀持以下功能:1:可进行日志消息格式的指定2:可划分出多级别的⽇志消息,并可设置那个级别及以上的日志可以输出3:可将⽇志写到控制台、⽂件以及按大小切换的滚动⽂件中(一个日志可输出0到多个目的文件)4:⽀持扩展⽇志写入⽬标地及写入要求 ——— 可拓展性5:⽀持同步写⽇志和异步写⽇志6:同步或异步写日志均⽀持多线程程序并发写⽇志7:拥有全局单列,且设有全局宏函数简化使用难度• CentOS7• vscode/vim• g++/gdb• Makefile• 类的原创 2023-08-30 09:28:52 · 759 阅读 · 5 评论 -
【C++入门第五期】类和对象(中)
注意:1:在编译器生成的默认拷贝构造函数中,内置类型是按照字节方式直接拷贝的,而自定义类型是调用其拷贝构造函数完成拷贝的。类中如果没有涉及资源申请时,拷贝构造函数是否写都可以;一旦涉及到资源申请时,则拷贝构造函数是一定要写的,否则就是浅拷贝错误原因:1:默认拷贝构造是按字节拷贝,所以c2的_number指向c1的_number的同一地址2:这就会导致析构时同一地址析构两次,从而报错3:在使用时还会出现两者数据相互覆盖,删除等,因为两个不同的对象在操作同一个地址。原创 2023-06-23 16:37:41 · 532 阅读 · 18 评论 -
【C++入门第四期】类和对象 ( 上 )
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是面向对象的语言,面向对象的三大特性:继承 ,封装 ,多态。但由于是入门文章,一开始就说把这些解释清楚未免太难为大家了。大家先把类理解为:功能接口及数据包,需要那个功能直接调用其接口即可获得结果使用接口时可以不知道的的具体实现,我们只需知道他的功能即可//类体:由成员变量和成员函数组成 };//注意后面要加分号结束class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分。原创 2023-05-01 22:48:21 · 659 阅读 · 18 评论 -
【C++入门第三期】auto 和 范围for 及 指针空值nullptr
在早期C/C++中auto的含义使用auto修饰的变量,是具有自动存储器的局部变量,但随着编译器越来越智能能自动判断哪些该存在那人为干预作用不大,导致一直没有人去使用它C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。如下p1 和 p2 是所接收到的值是一样的,所以两段代码作用一致。原创 2023-03-14 22:54:33 · 797 阅读 · 15 评论 -
【C++入门第二期】引用 和 内联函数 的使用方法及注意事项
概念:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。打个比方:你的名字叫张小三,你妈叫你小张,同学叫你小三,公司员工叫你张总。如上所述虽然你名字叫张小三,但大家却叫着你不一样的别名(小张/小三/张总)且你也知道他们是在叫你。inline是一种以空间换时间的做法,如果编译器将函数当成内联函数处理,在编译阶段,会用函数体替换函数调用,缺陷:可能会使目标文件变大,优势:少了调用开销,提高程序运行效率。原创 2023-02-24 23:32:44 · 579 阅读 · 15 评论 -
【C++入门第一期】命名空间 缺省参数 函数重载 的使用方法及注意事项
一个组,一起开发一个大型项目。但是他们但他们编写程序时就可能**出现重名的函数,变量,结构体等**,合并时就出现问题了大量的命名冲突。**最初,人们就想了个办法,将名字取得更长更复杂来避免重复**,可这样做却给编写和阅读带来了困难。后来,人们创造了命名空间这个概念,**它能有效地指出某个标示符到底属于哪个库。**## 命名空间的定义定义命名空间,需要使用到**namespace** **关键字**,后面跟**命名空间的名字**,然后接一对{ }即可,**{ }中即为命名空间的成员**。如下 **zg原创 2023-02-03 20:56:40 · 1101 阅读 · 18 评论