代码编织梦想

stringstream用法总结_stringstream怎么用_子木呀的博客-爱代码爱编程

目录 一、概念 二、基本功能 功能一:预定的格式将程序中的数据保存在一个string 中 功能二:实现类型转换          功能三:实现任意类型转换 三、重要功能 1.数字由空格或逗号分开。 2.数字由逗号分开 3.数字间不止一类符号分隔 一、概念 C++引入了ostringstream、istringstream、stri

二十万字C/C++、嵌入式软开面试题全集宝典五-爱代码爱编程

目录 81、 vector越界访问下标,map越界访问下标?vector删除元素时会不会释放空间? 82、 map[]与find的区别? 83、 STL中list与queue之间的区别 84、 STL中的allocator,deallocator 85、 STL中hash_map扩容发生什么? 86、 map如何创建? 87、 vector的

二十万字C/C++、嵌入式软开面试题全集宝典四-爱代码爱编程

目录 1、 虚函数的代价? 2、 用C语言实现C++的继承 3、 继承机制中对象之间如何转换?指针和引用之间如何转换? 4、 C++四种类型转换 5、 为什么要用static_cast转换而不用c语言中的转换? 6、 组合与继承优缺点? 7、 左值右值 8、 总结左值和右值的概念 9、 移动构造函数 10、 C语言的编译链接过程? 1

C++类对象在内存中的布局-爱代码爱编程

目录 一、前言 二、C++ 类对象的内存布局 2.1 只有数据成员的对象 2.2 没有虚函数的对象 2.3 拥有仅一个虚函数的类对象 2.4 拥有多个虚函数的类对象 三、继承关系中的C++类对象内存分布 3.1 存在继承关系且本身不存在虚函数的派生类的内存布局 ​3.2  本身不存在虚函数(不严谨)但存在基类虚函数覆盖的单继承类的内存布局

C++类对象中虚函数表指针、虚函数表、虚函数之间的关系以及在内存中的布局-爱代码爱编程

​目录 C++类的虚函数表和虚函数在内存中的位置  虚函数表和虚函数在内存中的位置说明 结论 原文 C++类的虚函数表和虚函数在内存中的位置_JMW1407的博客-CSDN博客 C++类的虚函数表和虚函数在内存中的位置 关系:虚函数表指针(保存在堆或栈)->虚函数表(常量区 .rodata)->虚函数(代码段 .text) 虚函数

详解操作系统中虚拟内存与物理内存的关系-爱代码爱编程

点击链接阅读更多: 一文理解虚拟内存、物理内存、内存分配、内存管理 - 知乎 目录 一、虚拟内存与物理内存 1.1 虚拟内存 1.2 虚拟内存与物理内存 二、C/C++中虚拟内存分配模型 2.1 C语言中内存分配模型 2.2 C++语言中内存分配模型 三、程序占用的内存是虚拟内存还是物理内存 3.1 内存管理 3.1.1 内存管理概念

详解进程的虚拟内存,物理内存,共享内存-爱代码爱编程

​ 目录 写在前面: 一、关于内存的两个概念 1.1 虚拟内存 1.2 驻留内存 二、详解top命令中VIRT、RES和SHR 2.1 top命令中ⅥRT、RES和SHR的含义 三、进程的smaps文件 写在前面: 想必在Linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题,你的程序在运行时占用了多少内存(物理内

为什么HTTP3.0使用UDP协议-爱代码爱编程

目录 1. 前言 2.HTTP2.0和HTTP3.0 2.1 HTTP2.0和TCP的爱恨纠葛 2.2 谷歌为什么选择UDP 2.3 QUIC协议和HTTP3.0 3. QUIC协议详解 3.1 队头阻塞问题 3.2 0RTT 建链 3.3 首次连接和非首次连接 3.4 前向安全问题 3.5 前向纠错 3.6 连接迁移 4. QU

链表反转相关的题(C++模板)-爱代码爱编程

 目录 反转单链表 反转部分单链表 K个一组反转单链表 K个一组反转单链表(从尾结点开始) 反转单链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL class 

malloc()背后的实现原理——内存池-爱代码爱编程

目录 malloc()和free()的分配算法 内存池 池化技术 相对于栈而言,堆这片内存面临着一个稍微复杂的行为模式:在任意时刻,程序可能发出请求,要么申请一段内存,要么释放一段已经申请过的内存,而且申请的大小从几个字节到几个GB都有可能,我们不能假设程序一次申请多少堆空间,因此,堆的管理显得较为复杂。 那么,使用 malloc() 在堆上分配

linux中fork函数及子进程父进程执行顺序-爱代码爱编程

目录 一、fork入门知识 二、fork进阶知识 一、fork入门知识      一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。     一个进程调用fork()函数后,系统先给新的进程分配资

sizeof()与strlen()-爱代码爱编程

sizeof()可以计算所有类型,strlen()仅计算字符串。 sizeof计算对象所占内存字节数,strlen()计算字符个数,遇到'\0'截止。 char *a; char b[5]; sizeof(a) = 8 ;        // 64位系统,8代表的是指针的大小,指针占8字节 sizeof(b) = 5 ;        // 计算字符串

详解2021华为笔试三道编程题-爱代码爱编程

 目录 2021华为笔试第一道 缓存转发数据包统计(100%) 解题思路: 参考代码: 2021华为笔试第二题 查找知识图谱中的实例知识(100%) 解题思路: 参考代码: 2021华为笔试第三题 湖泊连通(100%) 解题思路: 参考代码:  2021华为笔试第一道 缓存转发数据包统计(100%) 题目描述 有k个节

青蛙跳台阶扩展问题-爱代码爱编程

原题: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 class Solution { public: int numWays(int n) { int p = 0, q

FIFO缓存区设计-爱代码爱编程

目录 1.缓存区的制作 2 改善上述缓存区 3 缓存区的实现 1.FIFO (First Input First Output) 一种先进先出的数据缓存器,先进入的数据先从FIFO缓存器中读出,与RAM相比没有外部读写地址线,使用比较简单,但只能顺序写入数据,顺序的读出数据,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。 2.FI

Linux C++多线程同步的四种方式-爱代码爱编程

目录 一.互斥锁 二.条件变量 三.读写锁 原文链接:Linux C++多线程同步的四种方式(非常详细)_Y先森0.0-CSDN博客 背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> #incl

N皇后问题-爱代码爱编程

目录 N皇后规则 回溯三部曲 N皇后C++完整代码 链接:https://leetcode-cn.com/problems/n-queens/solution/dai-ma-sui-xiang-lu-51-n-queenshui-su-fa-2k32/ 都知道n皇后问题是回溯算法解决的经典问题,但是用回溯解决多了组合、切割、子集、排列问题之后,遇

C++中NULL和nullptr的区别-爱代码爱编程

在编写C程序的时候只看到过NULL,而在C++的编程中,我们可以看到NULL和nullptr两种关键字,其实nullptr是C++11版本中新加入的,它的出现是为了解决NULL表示空指针在C++中具有二义性的问题,为了弄明白这个问题,我查找了一些资料,总结如下。 一、C程序中的NULL 在C语言中,NULL通常被定义为: #define NULL (

Ubuntu下使用VSCode的launch.json及tasks.json编写-爱代码爱编程

目录 程序 调试 遇到的问题及解决方式 拓展 预定义变量# 预定义变量示例:   tasks用于在launch前执行任务,launch用于读取执行文件。 这两者经常组合起来用于需要编译语言的自动编译+自动执行,下面以C++、Rust和Typescript为例。 程序 工作区包含main.cpp、头文件夹include以及文

linux系统-软链接与硬链接区别-爱代码爱编程

目录 引言 硬盘 软、硬链接方式 硬链接 软链接 问题 引言 在介绍硬链接和软链接之前,首先介绍下硬盘相关的知识,主要是了解下 inode 。 硬盘 硬盘设备是由大量的扇区组成的。以 MBR 分区为例。每个扇区的容量为 512 字节。其中第一个扇区最重要。它里面保存着主引导记录与分区表信息。就第一个扇区来讲,主引导记录需要占用 446