2025_03_11
关于auto推导 关于t最后推导出的类型 auto 的默认类型推导规则会 忽略引用,直接推导出值的类型 函数 test() 返回的是 std::string&(引用),但 auto t = test(); 会 拷贝引用指向的值,生成一个新的 std::string 对象 ...
关于auto推导 关于t最后推导出的类型 auto 的默认类型推导规则会 忽略引用,直接推导出值的类型 函数 test() 返回的是 std::string&(引用),但 auto t = test(); 会 拷贝引用指向的值,生成一个新的 std::string 对象 ...
内存布局 内核空间 通常在最高的内存地址,用户态程序无法访问 操作系统保留的一部分内存,用于存储内核代码、设备驱动程序等 这部分内存一般不在普通应用程序的内存布局中明确显示,但确实存在并且用户态程序无法直接访问 栈区 由编译器自动分配释放,存放函数的参数值,局部变量等 由高地址向...
Windows相关 创建Mutex的有无Global的影响 概述 Windows 内核对象(如 Mutex、Event、Semaphore)的命名规则决定了它们的可见范围: 适用场景:跨会话(如服务进程与用户进程)、跨用户或系统级同步 加了Global\ 表示该对象位于 全局内核...
虚函数 虚函数 虚函数机制用以支持一个有效率的“执行期”绑定。 虚函数指针 C++对象模型: 每个class产生出一堆指向虚函数的指针,放在表格当中。这个表格被称为svirtual table。 没一个类对象被安插一个指针,指向相关的virtual table,这个指针通常被称为...
Linux下/proc Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可...
static 修饰全局变量 加不加static都是静态存储方式 加了static,只初始化一次,防止在其他源文件中被引用 修饰局部变量 变成静态存储方式,变量的生命周期变长,作用范围不变 只初始化一次 修饰函数 加了static之后,函数在内存中只有一份 没加的话,普通函数在每个...
STL STL容器 顺序容器 string vector list forward_list queue deque stack 关联容器 map set unordered_map unordered_set STL容器底层数据结构 vector 顺序表 维护的是一个连续线性空...
语言类 volatile 易变性 所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。 “不可优化”特性 volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,...
vector.size() && vector.capacity() 相关介绍 size() 返回容器里面当前存放的元素个数 capacity() 在不重新分配内存的情况下,vector或string能存放的元素的最大个数 shrink_to_fit() 将cap...
argc && argv argc 表示传入main函数的参数个数 argv 表示传入main函数的参数序列或指针 其中,argv[0]一定是程序的名称,包含路径的名称 而由于argv[0]存放的一定是程序的名称,所以我们传入的参数的个数是argc-1 strle...
搜索当前分类