![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程
文章平均质量分 95
General_G
谦虚,宽容,感恩,敬畏
展开
-
C++中的时间工具
本文主要记录C++标准中提供的时间处理工具,并提供简单实现的Linux平台的定时器demo;原创 2024-02-07 13:16:33 · 797 阅读 · 0 评论 -
内存模型与无锁编程
本文主要介绍C++新标准中的内存模型和无锁编程的原理和实现。原创 2023-12-14 15:56:00 · 832 阅读 · 0 评论 -
C++之type traits
Type traits在C++中,尤其是模板中应用极为广泛。原创 2023-11-20 17:13:33 · 304 阅读 · 0 评论 -
C++顺序容器
标准库定义了三个顺序容器适配器:stack(栈适配器),queue(队列适配器),priority_queue(优先队列),所有的适配器都要求容器具有添加,删除,以及访问尾元素的能力。传递给assign的迭代器不能指向调用assign的容器;• 若线性表需要频繁查找,很少进行插入和删除操作时,应该采用顺序存储结构;• 链表:O(n):需要遍历前面所有项以得到下标对应的项。• 数组:O(n):需要移动其后所有项的位置。单向链表,通过改变给定元素之后的元素完成。• 频繁插入和删除需要采用链表结构。原创 2023-08-24 22:35:39 · 147 阅读 · 0 评论 -
C++之线程同步
线程同步总结原创 2023-07-07 09:45:03 · 555 阅读 · 0 评论 -
预编译与变长参数函数
变长参数的宏定义是指在宏定义中参数列表的最后一个参数为省略号,而预定义宏__VA_ARGS__则可以在宏定义的实现部分替换省略号所代表的字符串: 判断C++标准的宏,可以通过该值判断支持哪个C++标准,如在C++03标准中__cplusplus值为199711L ,C++11中为201103L>=201103L__LINE__:当前源代码行号;__FILE__:当前源文件名,字符串;__DATE__:当前编译日期,格式(内容)为月 日 年__TIME__:当前编译时间,格式为hh:mm:ss;原创 2023-07-02 15:55:50 · 229 阅读 · 0 评论 -
C++类型转换
保证安全的动态转型:dyanmic_cast可以在执行期决定真正的类型,如果是安全的(也就是说父类指针指向派生类对象),这个运算符会传回被适当转型过的指针,如果不是安全的,会传回空。:支持运行时类型识别,主要被用于安全地沿着类的继承关系向下进行类型转换,将一个基类转换成派生类。原创 2023-06-23 14:24:25 · 474 阅读 · 0 评论 -
C++17
应用场景:针对接收只读字符串的函数形参而言,如果是const char*的话,如果使用std::string,则必须调用其上的c_str()和data()来获取,但这样将失去std::string良好的面向对象的方面及其方法;内联变量产生的动机:C++不允许在类里初始化非常量静态成员,可以在类定义的外部定义并初始化非常量静态成员,但如果被多个cpp文件同时包含的话又会引发新的错误,根据一次性定义原则,一个变量或实体的定义只能出现在一个编译单元内,除非该变量或实体被定义为inline。原创 2023-06-22 12:30:56 · 551 阅读 · 0 评论 -
C++20
C++20新特性总结原创 2023-06-22 12:32:26 · 552 阅读 · 0 评论 -
C++之数据对齐
C/C++内存对齐,结构体对齐原理分析,以及C和C++提供的内存对齐方面的函数描述符和编译属性总结原创 2023-05-05 22:40:19 · 4018 阅读 · 1 评论 -
函数指针和函数对象/lambda表达式
C++中的函数指针,函数对象,lambda表达式用法总结原创 2023-05-05 22:39:49 · 338 阅读 · 0 评论 -
C++之正则表达式
C++常用的正则表达式用法归纳总结原创 2023-05-05 22:42:59 · 817 阅读 · 0 评论 -
C++之异常处理
C++中的异常处理,try...catch, throw, exception原创 2023-05-04 14:47:37 · 931 阅读 · 2 评论 -
C++之内存管理
C++中内存管理和智能指针的用法原创 2023-05-04 14:47:29 · 863 阅读 · 0 评论 -
C++基础总结
C++基础总结,包括POD类型介绍,左值和右值的概念和C++中提供的type trait工具,static, const, constexpr的用法,四种类型转换,以及一些关键字的总结和其他常用的零散知识点原创 2023-05-04 14:46:50 · 931 阅读 · 0 评论 -
C++之泛型算法
• partial_sort(first, sort_end, end)/partial_sort(first, sort_end, end, op):第一形式以operator:将end元素之前的最后一个元素加入原本就是heap的[beg, end-1)区间内,使整个[beg, end)区间成为一个heap;原创 2023-05-04 14:45:46 · 1169 阅读 · 0 评论 -
C++之对象模型
vptr的设定和重置由类的构造,析构和拷贝赋值运算符自动完成;• 虚拟继承:在有虚基类的构造初始化中,最上面公共继承的父类的构造只调用一次,最底层继承的类负责构造最顶层共享的父类,编译器的大概实现是加一个bool字段,在每一层派生的子类构造中添加代码判断是否是最下面的子类,如果是去调用虚基类构造;• 取一个非静态数据成员的地址,如果该函数是非虚,则得到的结果是它在内存中真正的地址,然而这个值也是不完全的,需要绑定到某个类对象的地址上,才能通过它调用该函数,所有的非静态成员函数都需要对象的地址。原创 2023-05-04 14:44:12 · 1351 阅读 · 0 评论 -
C++之编译链接
本文主要记录C++代码使用gcc编译器编译为可执行文件或库文件的原理,如将代码编译为elf文件分为哪些段,各自作用是什么;并列举了一些使用工具用于检查elf文件或进程,如nm,ldd,lsof,ar等原创 2023-05-04 14:43:07 · 1121 阅读 · 0 评论 -
C++之编程规范
google C++编码规范汇总原创 2023-05-04 14:43:02 · 1044 阅读 · 0 评论 -
STL工具
STL工具原创 2023-05-04 14:42:01 · 842 阅读 · 0 评论 -
C++之模板编程
C++模板编程总结原创 2023-05-04 11:28:46 · 2022 阅读 · 0 评论 -
C++11/14
C++11和C++14特性总结原创 2023-05-04 10:47:42 · 995 阅读 · 0 评论 -
C++之并发编程
C++中创建多线程原创 2020-06-11 13:48:10 · 397 阅读 · 1 评论