AndreaDO

导航

随笔分类 -  C++

1 2 下一页

Linux上CMAKE的使用
摘要:Linux上CMAKE的使用 简单使用 格式如下: cmake_minimum_required(VERSION 3.0) # 最低版本3.0 project(main) # 项目名称 # 配置编译器 set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g) # 配置头文 阅读全文

posted @ 2024-04-04 23:11 AndreaDO 阅读(567) 评论(0) 推荐(0)

C++ 设计模式
摘要:C++ 设计模式 工厂模式: 我们需要方便的使用这些类,减少耦合度 #include <iostream> #include <string> using namespace std; class car{ public: car(string name):name_(name){} virtual 阅读全文

posted @ 2024-03-24 22:14 AndreaDO 阅读(87) 评论(0) 推荐(0)

windows-vs2022-配置boost开发
摘要:windows-vs2022-配置boost开发 1.先去官网下载boost库最新版本 https://www.boost.org/users/download/ 选择windows版本下载,zip和7z格式的都可以 2.下载解压后点击bootstrap.bat文件,双击运行会生成b2.exe 然后 阅读全文

posted @ 2024-03-24 08:21 AndreaDO 阅读(2006) 评论(0) 推荐(0)

常见算法模板
摘要:常见算法 快速排序 #include <iostream> #include <algorithm> //快速排序 void qsort(int a[],int left,int right) { if(left>=right)return ; int i=left-1,j=right+1; int 阅读全文

posted @ 2024-03-22 22:06 AndreaDO 阅读(21) 评论(0) 推荐(0)

面试题总结2
摘要:面试题总结2 C++ thread_local 详解 thread_local 是 C++11 引入的一个关键字,用于声明线程局部变量。线程局部变量 是指每个线程都拥有独立副本的变量,互不影响。 作用: 提高线程安全性:避免多个线程共享同一变量带来的数据竞争问题。 减少资源开销:每个线程只拥有自己的 阅读全文

posted @ 2024-03-22 16:19 AndreaDO 阅读(65) 评论(0) 推荐(1)

搞懂select和epoll
摘要:搞懂select和epoll 笔记 看了大佬的文章,看懂了网络数据如何传输到计算机内存,服务器的select和epoll模型 网络传输1 select和epoll-1 epoll-2 思考笔记如下,把这三个铭记在心 : 为什么,是什么,怎么做 1-网卡是怎么接收数据的 从硬件角度上看: 网卡接受到网 阅读全文

posted @ 2024-03-18 23:58 AndreaDO

构建自己的muduo库-1
摘要:构建自己的muduo库-1 由于muduo库的网络库原本使用了很多boost库的内容,所以我想手写自己的my muduo库,使用C++11特性去替换掉boost部分内容 构建项目建立CMake文件 项目根目录下CMakeLists内容 cmake_minimum_required(VERSION 2 阅读全文

posted @ 2024-03-17 20:02 AndreaDO 阅读(88) 评论(0) 推荐(0)

C++ 面试题 1
摘要:C++ 面试题 1.详细说说C/C++中malloc、free和new、delete的异同点 在C和C++中,malloc和free以及new和delete是用于动态内存管理的两组函数/操作符。虽然它们的目的相似,但在使用方式和特性上有一些重要的区别。 malloc和free malloc和free 阅读全文

posted @ 2024-03-10 14:52 AndreaDO 阅读(97) 评论(0) 推荐(0)

C++中不同容器下迭代器失效的情况
摘要:C++中不同容器下迭代器失效的情况 迭代器失效分三种情况考虑,也是分三种数据结构考虑,分别为数组型,链表型,树型数据结构。 数组型数据结构:该数据结构的元素是分配在连续的内存中,insert和erase操作,都会使得删除点和插入点之后的元素挪位置,所以,插入点和删除掉之后的迭代器全部失效,也就是说i 阅读全文

posted @ 2024-03-10 10:05 AndreaDO 阅读(175) 评论(0) 推荐(0)

C++ mySQL数据库连接池(windows平台)
摘要:C++ MySQL数据库连接池 新手学了C++多线程,看了些资料练手写了C++数据库连接池小项目,自己的源码地址 关键技术点 MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和 unique_lock、基于CAS的原子整形、智能指针shared_ptr 阅读全文

posted @ 2024-03-04 20:55 AndreaDO 阅读(939) 评论(1) 推荐(3)

C++ 多线程笔记2 线程同步
摘要:C++ 多线程笔记2 线程同步 并发(Concurrency)和并行(Parallelism) 并发是指在单核CPU上,通过时间片轮转的方式,让多个任务看起来像是同时进行的。实际上,CPU在一个时间段内只会处理一个任务,但是由于切换时间非常快,用户感觉像是多个任务同时在进行。 这种方式的优点是可以充 阅读全文

posted @ 2024-03-02 14:50 AndreaDO 阅读(113) 评论(0) 推荐(0)

C++ 多线程笔记1 线程的创建
摘要:C++ 多线程笔记1 线程的创建 里面代码会用到的头文件 #include <iostream> #include <string> #include <memory> #include <thread> #include <vector> #include <stdlib.h> #include 阅读全文

posted @ 2024-02-28 23:33 AndreaDO 阅读(53) 评论(0) 推荐(0)

C++ STL容器 set类型
摘要:C++ STL容器 set类型 set是C++引入的二叉树数据结构 特点: 自动将元素排序 插入和删除查找logn 必须元素支持严格的弱顺序 不能改变元素的值 代码 using Group = std::set<float>; // 初始化 Group a={1.0f,4.0f,3.3,7.8,9. 阅读全文

posted @ 2024-02-28 13:32 AndreaDO 阅读(41) 评论(0) 推荐(0)

C++ STL 容器 forward_list类型
摘要:C++ STL 容器 forward_list类型 介绍 std::forward_list 是 C++ 标准模板库 (STL) 中的一个单向链表容器。与 std::list 不同,std::forward_list 只允许从头部到尾部的单向迭代,不支持反向迭代。因此,std::forward_li 阅读全文

posted @ 2024-02-27 22:23 AndreaDO 阅读(60) 评论(0) 推荐(0)

C++ STL 容器 list类型
摘要:C++ STL 容器 list类型 list对于异常支持很好,要么成功,要么不会发生什么事情 以下是 std::list 在异常处理方面表现良好的几个原因: 动态内存管理:std::list 使用动态内存分配来存储元素,这意味着它会在需要时自动分配内存,并在不再需要时释放内存。这种自动管理可以减少内 阅读全文

posted @ 2024-02-27 20:51 AndreaDO 阅读(62) 评论(0) 推荐(0)

C++ STL 容器-Deque
摘要:C++ STL 容器-Deque std::deque(双端队列)是C++标准模板库(STL)中的一个容器,它支持在序列的两端快速插入和删除元素。与std::vector和std::list等其他序列容器相比,std::deque在某些特定场景下具有独特的优势。 元素的访问和迭代比vector慢,迭 阅读全文

posted @ 2024-02-27 20:27 AndreaDO 阅读(61) 评论(0) 推荐(0)

C++ STL 容器-Vector类型
摘要:C++ STL 容器-Vector类型 std::vector是C++标准库中的一个动态数组容器,它提供了随机访问迭代器,因此你可以像使用普通数组一样使用vector。 vector容器可以动态地增长和缩小,这意味着你可以在不预先指定数组大小的情况下向其中添加或删除元素。 特点 动态大小:vecto 阅读全文

posted @ 2024-02-27 16:32 AndreaDO 阅读(39) 评论(0) 推荐(0)

C++ STL 容器-array类型
摘要:C++ STL 容器-array类型 array是C++11STL封装的数组,内存分配在栈中stack,绝对不会重新分配,随机访问 创建和初始化 // 下面的等同于int a[10]; std::array<int,10> as1; //分配空间但是未初始化 std::array<int,10> a 阅读全文

posted @ 2024-02-27 14:52 AndreaDO 阅读(54) 评论(0) 推荐(0)

C++内存管理
摘要:关于C++内存和分配的学习笔记 C++内存和分配很容易出问题,为了编写高质量的CPP代码,我们必须了解幕后的工作原理。 1.内存泄漏 例如: void leaky() { new int;//这里就是内存泄漏 cout<<"我泄漏了一个int的内存!"<<endl; } 自由存储区中的数据库无法被栈 阅读全文

posted @ 2024-02-26 21:14 AndreaDO 阅读(152) 评论(0) 推荐(0)

C++ 关键字
摘要:C++ 关键字 alignas 和 alignof用法 alignas alignas 指定了内存按照多少对齐。alignas(0) 这种写法无效,编译器会无视你的这个代码 struct alignas(8) S{}; //表示是8个字节的对齐方式 struct alignas(1) U{S s;} 阅读全文

posted @ 2024-02-26 20:08 AndreaDO 阅读(66) 评论(0) 推荐(0)

1 2 下一页