海上月
C++ inline关键字 C++ inline关键字
inline关键字在函数声明和定义加上,使之称为内联函数。如果一些简单的函数直接在类中声明并且定义,编译器可以将其优化为内联函数。 注:内联函数可以减少函数的执行时间:原因是它可以在使用时直接进行替换(像宏一样展开),从而避免出现参数压
2023-03-13
C++_多线程:原子操作atomic C++_多线程:原子操作atomic
原子操作atomicC++ 多线程:原子类型 有两个线程,一个要写数据,一个读数据,如果不加锁,可能会造成读写值混乱,使用std::mutex程序执行不会导致混乱,但是每一次循环都要加锁解锁是的程序开销很大。 为了提高性能,C++11提
2022-12-21
CPP指针的种类以及区别 CPP指针的种类以及区别
CPP指针空指针在C和C++中,用0和NULL都可以表示空指针 空指针误操作的后果:如果对空指针解引用,程序会崩溃,如果对空指针使用 delete 运算符,程序会忽略这个操作,不会出现异常,所以,在内存被释放之后也应该,把指针置为空指针
2022-12-21
Static、#define、const、mutable、typedef Static、#define、const、mutable、typedef
Static、#define、const、mutable、typedef代码存储区域:常量区、代码区、静态区(全局区)、堆区、栈区 栈区向下增长,堆区向上增长。栈由系统管理,没有内存碎片,每个元素之间都是连续的,大小比较小,8k,可以修
2022-12-19
c++内存模型、编译过程、gcc命令 c++内存模型、编译过程、gcc命令
c++内存模型1、源代码区:存储代码的区域(类似jvm里的方法区) 2、静态区:存储静态变量和全局变量的区域(类似jvm里的方法区里的方法区) 3、栈区:存储局部变量和参数的内存区域,由系统开辟、由系统回收的内存区域 4、堆区:程序员开
2022-12-17
c++:前置++和后置++的运算符重载、红黑树的概念、static关键字 c++:前置++和后置++的运算符重载、红黑树的概念、static关键字
前置++和后置++的运算符重载#include <iostream> using namespace std; class Interge{ int a; public: Interge
2022-12-17
string底层实现之SSO string底层实现之SSO
string底层实现之SSOstring的构造函数 参考资料 Simple String Optimization,最小字符串优化,基本原理是:当分配的字节数小于16字节的时候,直接从栈上进行进行内存分配,如果大于16字节,则在堆上进行
2022-12-11
C++_中explicit的作用及用法 C++_中explicit的作用及用法
目录 C++explicit(官网的说法) C++explicit 清楚的说法(建议英文不好的从这里开始食用哦) C++explicit使用的例子(建议喜欢自己敲代码实验的从这里开始食用哦) 总结 C++explicit(官网的说法
2022-11-25
4 / 4