![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习笔记
文章平均质量分 82
Trouble..
在读研究生
展开
-
C++实现集群聊天服务器
本文主要讲述了基于C++Muduo网络库实现集群聊天服务器的小型项目,主要使用了Muduo网络库、nginx负载均衡、redis的分布订阅功能,本文也提供了最终的项目源代码,后续将会在其基础上添加数据库连接池、QT界面操作。期待后续更新。原创 2023-10-01 09:54:23 · 1024 阅读 · 0 评论 -
QT配置MySQL数据库 && ninja: build stopped: subcommand failed
本文主要介绍了QT的MYSQL数据库配置,遇到了MYSQL安装路径存在空格和构建权限不足问题的解决方案,ninja: build stopped: subcommand failed 等错误的解决方案。最终给了一段测试代码,测试mysql的连接情况。原创 2023-09-22 09:35:25 · 1255 阅读 · 0 评论 -
C++ QT学习笔记
主要记录C++ QT的常见模块学习情况原创 2023-09-20 15:15:41 · 291 阅读 · 0 评论 -
C++智能指针
本文主要讲述了C++11中的智能指针,智能指针出栈作用域之后自动释放资源的特点,能优化C++的指针效率,防止资源未释放和野指针的情况。主要分析了不带引用计数的智能指针auto_ptr、scope_ptr、unique_ptr,其中auto_ptr只有最后一个对象保留资源、scope_ptr不支持对象的拷贝构造和赋值运算符重载,unique_ptr必须显式使用move调用右值引用的拷贝构造和赋值运算符重载。对于引用计数的智能指针,分为强智能指针shared_ptr和弱智能指针weak_ptr,需要互相联用转化原创 2023-09-19 11:05:03 · 206 阅读 · 0 评论 -
C++对象调用优化
本文主要讲述了C++对象调用过程中可能存在的优化点,右值引用和左值引用,move和forward的使用方法,总结了函数调用过程中的优化过程,优化过程中体现在参数接受、返回对象和接收对象上,掌握这些才可以写出高性能的面向对象代码。原创 2023-08-26 18:12:07 · 268 阅读 · 0 评论 -
C++海量数据查重和top k综合应用
C++实现海量数据查重和top k问题原创 2023-08-25 16:04:31 · 177 阅读 · 0 评论 -
C++ STL 标准模板库
本文主要介绍了C++中STL的使用,主要把包括容器、适配器、迭代器、函数对象和泛型算法等,函数对象主要是在调用函数过程中使用的,如greater、less等,泛型算法和绑定器的使用原创 2023-08-25 15:49:49 · 212 阅读 · 0 评论 -
C++中的const_cast/static_cast/reinterpret_cast/dynamic_cast四种类型转化
本文主要讲解了C++中的四种类型转化,其中static_cast使用的最常见,const_cast/reinterpret/dynamica_cast三种使用比较少,dynamic_cast最为特殊,主要用在继承结构派生类和基类的互相转化。const_cast仅支持指针和引用方式的转化。reinterpret_cast类似于C语言的强制转化。原创 2023-08-23 14:57:29 · 194 阅读 · 0 评论 -
C++继承和多态
本文主要介绍了C++的继承和多态,主要介绍了继承方式的访问权限问题,虚继承和菱形继承,重载/隐藏/覆盖的情况,静态绑定和动态绑定形成的多态等原创 2023-08-23 09:25:34 · 158 阅读 · 0 评论 -
C++运算符重载
本文主要讲述C++的操作符重载的情况,包括+/++/-/--//new/delete/[]等操作符重载,也简要介绍了iterator失效的情况。并简要介绍了友元函数,类成员函数,普通函数操作符重载的区别原创 2023-08-20 15:39:34 · 171 阅读 · 0 评论 -
C++模板学习笔记
本文主要介绍了C++函数模板和类模板,并结合了vector容器的实现,自定义了allocator来实现内存开辟,内存回收,对象创建和对象析构的操作。函数模板有利于减少代码的编写量,但是会存在类型在模板函数上不实用的情况,所以就会出现模板实例化的情况,,以及模板函数和普通函数之间看似重载的问题。原创 2023-08-16 15:06:19 · 248 阅读 · 0 评论 -
C++面向对象编程
本文主要介绍了C++面向对象的基础,包括构造函数,析构函数,构造函数初始化列表,深拷贝和浅拷贝,堆空间释放,各种类的函数,普通成员函数,常成员函数,静态成员函数,静态变量,普通变量,函数指针等。进行了自定义实现String和Queue,并防止浅拷贝带来堆空间释放问题原创 2023-08-15 19:09:35 · 175 阅读 · 0 评论 -
C++函数调用那些事
本文实现了C++重载,带默认值形参函数,inline内联函数的分析,以及C/C++代码互相调用(extern关键字使用)的分析原创 2023-08-14 10:39:27 · 168 阅读 · 0 评论 -
C++中const,指针和引用
本文主要介绍了C++中的引用,一级指针和二级指针,以及const关键字和引用,指针的联合使用。并列举了判断题进行进一步巩固,特别分析了常量二级指针和普通二级指针的转化问题。原创 2023-08-13 16:15:59 · 224 阅读 · 0 评论 -
C++中new/malloc,delete/free的区别
主要介绍了C++中new/malloc和delete/free的区别,并使用代码实例说明了new创建的几种方式,以及new和malloc创建常用变量和数组的区别。原创 2023-08-12 18:46:46 · 358 阅读 · 0 评论 -
Ubuntu20.04安装MySQL8
本文介绍了Ubuntu20.04安装MySQL8的详细过程,简要介绍了MySQL的启动方法。原创 2023-08-03 19:53:03 · 950 阅读 · 0 评论 -
C++socket网络编程笔记
本文实现用C++实现socket通信,主要包含TCP/IP和UDP,简要介绍了socket的windows和linux使用的区别,并使用socket搭建了一个简单的http服务器,可以实现浏览器访问服务器进行通信。主要涉及技术包括:socket通信、tcp/ip、udp、http、多线程等。原创 2023-08-02 17:29:43 · 1014 阅读 · 0 评论 -
C++设计模式笔记
本文介绍了主流的几种设计模式,包括工厂模式(简单工厂、工厂方法、抽象工厂)、代理模式、观察者模式、适配器模式、装饰器模式和单例模式,并提供了相关模式的代码实例进行讲解原创 2023-07-29 15:38:34 · 574 阅读 · 0 评论 -
C++多线程实现
本文主要总结了C++多线程互斥和同步通信的内容,讲述了C++11多线程的并发的使用,以及锁的的使用,mutex,lock_guard,来控制临界区代码只能一个线程访问;线程同步通信中,介绍了unique_lock和condition_variable联合使用的锁和条件变量,便于实现线程通信,并实现了生产者消费者代码使其更好地被理解;在最后总结了CAS操作,使用atomic实现原子级别变量的线程互斥,可以说是软件层面上是无锁的,是轻量级的。原创 2023-07-27 10:13:54 · 346 阅读 · 0 评论 -
C++绑定器和函数对象
用于存储C++中绑定器和函数对象相关的原理和代码,便于后续复习原创 2023-07-25 20:47:56 · 353 阅读 · 0 评论 -
C++实现MySQL数据库连接池
为了提升MysSQl数据库服务器的的并发能力,为此使用C++实现MySQL数据库连接池,提高并发能力。主要涉及技术有MySQL数据库编程、STL容器、单例模式、多线程互斥、同步通信、互斥锁、智能指针、lambda表达式等相关内容。原创 2023-07-23 16:43:32 · 1127 阅读 · 1 评论 -
C/C++封装:Windows/Linux下封装.lib/.so文件
这里提供了两个C/C++中服务器与客户端之间通讯的两个程序,程序中封装了通信之间的函数方法,我们以这个程序为例进行封装。原创 2023-07-17 16:59:43 · 1437 阅读 · 0 评论 -
C/C++实现高并发http服务器
使用从C/C++语言构建高并发http服务器,使用多线程技术实现http服务器高并发,使用户不会感觉到服务器用户过多,导致体验感很差。原创 2023-07-10 21:29:48 · 3101 阅读 · 0 评论 -
C/C++服务器和客户端交互笔记
Socket通信三要素:通信的目的地址、使用的端口号(http 80 / smtp 25)、使用的传输协议(TCP、UDP)。可以查询xx网址的IP地址。Socket通信模型进行主机间通信。原创 2023-07-04 11:05:15 · 2810 阅读 · 4 评论