logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

C++之vector容器

vector的文档介绍使用STL的三个境界:能用,明理,能扩展构造函数声明接口说明vector()无参构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造。

文章图片
#c++#开发语言
Linux 下 从 ELF 可执行文件 到 进程虚拟地址空间的加载、映射与运行底层原理

本文系统梳理了Linux程序从源码到执行的完整链路,包含五个关键环节:编译生成ELF可重定位文件、链接合并目标文件与库、进程虚拟地址空间初始化、加载到物理内存、CPU执行指令。重点解析了ELF格式结构、动静态库链接规则、虚拟地址规划原理、进程内存管理机制(mm_struct、页表)以及硬件地址转换流程(MMU)。整个过程体现了编译器、操作系统和硬件的协同设计:编译器规划虚拟地址,操作系统实现地址空

#linux#运维
C++开篇

namespace本质是定义出一个域,这个域跟全局域各自独立,不同的域可以定义同名变量。C++中域有函数局部域,全局域,命名空间域,类域,域影响的是编译时语法查找一个变量/函数/类型出处,所以有了域隔离,名字冲突就解决了。局部域和全局域除了会影响编译查找逻辑,还会影响变量的生命周期,命名空间域和类域不会影响变量生命周期。namespace只能定义在全局,当然他还可以嵌套定义。项目工程中多文件中定义

#c++#开发语言
C++中关于进行list的模拟实现中遇到的一些问题

进行以上操作可不可以,如果链表模板里只有刚才两个参数,答案是不可以,因为我们需要这个结构体的地址进而访问其中的成员,问题就是我们少了指向结构体的指针,我们只有结点的指针,访问结构体还需要对结点进行解引用进而进行访问结构体里的成员,所以写成下面似乎也可以。通过迭代器对结点的访问,来进行操作,使用迭代器还可以保护链表中的结点不被显现(后面说),但是我们需要通过对迭代器进行封装,因为list的迭代器不像

#c++#list#开发语言
C++之string类

这种拷贝方式,称为浅拷贝。

文章图片
#c++#开发语言
C++之vector容器

vector的文档介绍使用STL的三个境界:能用,明理,能扩展构造函数声明接口说明vector()无参构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造。

文章图片
#c++#开发语言
C++之list

构造函数接口说明构造的list中包含n个值为val的元素list()构造空的list拷贝构造函数用(first,last)区间中的元素构造list。

文章图片
#c++#开发语言
C++之模板

一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

文章图片
#开发语言
C++之多态

必须是基类的指针或者引用调用虚函数被调用的函数必须是虚函数,并且完成了虚函数重写/覆盖说明:要实现多态效果,第⼀必须是基类的指针或引⽤,因为只有基类的指针或引⽤才能既指向基类对象⼜指向派⽣类对象;第⼆派⽣类必须对基类的虚函数完成重写/覆盖,重写或者覆盖了,基类和派⽣类之间才能有不同的函数,多态的不同形态效果才能达到。

文章图片
#c++#面试#开发语言
    共 18 条
  • 1
  • 2
  • 请选择