C++_关于函数调用过程

C++_关于函数调用过程

bingliaolong C++ 5个月前 6 0

概述 C++中的函数调用,本质上就是通过函数地址定位到进程地址空间的代码区中对应的指令序列,然后跳转执行 编译阶段 编译时 - 生成符号和调用指令 函数声明与符号生成‌ 编译器看到函数 func 的声明(或定义)时,会将其名称作为一个‌符号(Symbol)‌ 记录在目标文件(.o...

C++_线程池相关记述

C++_线程池相关记述

bingliaolong C++ 2个月前 6 0

线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑

STL_deque

STL_deque

bingliaolong C++ 5年前 6 0

概述 vector是单向开口的连续线性空间,而deque则是一种双向开口的连续线性空间。 所谓双向开口,是指可以在头尾两端分别做元素的插入和删除操作。 区别 和vector相比: deque运行常数时间内对起头端进行元素的插入和移除操作 deque没有所谓的容量的概念,因为他是动...

C++_友元、联合体、内联、static、指针、深浅拷贝

C++_友元、联合体、内联、static、指针、深浅拷贝

bingliaolong C++ 1年前 5 0

友元类 适用情况 紧密协作: 当两个类需要紧密协作,且需要共享内部实现细节时 例如,操作类需要访问数据类的内部数据来实现复杂的功能 封装复杂操作: 当某些复杂操作不能或不应成为数据类的成员函数时 通过友元类可以将这些操作封装在独立的类中,从而简化数据类的设计 提高性能: 在某些情...

Windows_进程地址空间相关

Windows_进程地址空间相关

进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...

C++14_第二篇

C++14_第二篇

bingliaolong C++ 1年前 5 0

变量模板 C++14引入了变量模板,使得可以为变量定义模板 make_unique C++14引入了std::make_unique,提供了一种创建std::unique_ptr的简便方式 std::make_unique 是一个模板函数,用于创建 std::unique_ptr...

C++_关于Invoke

C++_关于Invoke

bingliaolong C++ 2个月前 5 0

概述 C++17 引入的一个强大的函数调用工具,它提供了一种统一的方式来调用各种可调用对象 作用目标 普通函数 成员函数 成员变量 函数对象(包括 lambda) 任何重载了 operator() 的对象 为什么需要 std::invoke 在 C++17 之前,调用不同类型的可...

STL_slist

STL_slist

bingliaolong C++ 5年前 5 0

异同 STL list是个双向链表。SGI STL另提供了一个单向列表,叫slist。 slist的迭代器属于单向的Forward iterator,list迭代器是双向的Bidirectional Iterator。 slist功能少点,所耗用的内存小点。 共同点是插入,移除,...

Effective C++_第四篇

Effective C++_第四篇

bingliaolong C++ 1年前 5 0

34 区分接口继承和实现继承 概述 在C++的面向对象编程中,继承可以用于两种目的:接口继承和实现继承 理解并区分这两种继承方式有助于设计更清晰、可维护和灵活的类结构 接口继承 子类继承基类的接口,但可以重新定义(覆盖)基类的方法 接口继承通常用于定义类的行为约定,使得不同的子类...

gflags记述:记录2

gflags记述:记录2

bingliaolong C++ 6个月前 4 0

相关功能 定义 bool型 直接使用值 直接修改值 string型 直接使用 修改值 int型 其他编译单元引用 其他 问题 似乎不支持Windows风格的参数 似乎用--help会有奔溃,没研究原因

扫一扫二维码分享