C++
C++学习过程中的问题,方便日后查看;
那些年那些事那些人
很多事情不是看到了希望才去坚持,而是坚持了才会看到希望;在人生的十字口,一定要慎重选择,一旦选择了就不要后悔;最后欢迎志同道合者,一起交流学习。
展开
-
C++常出现的段错误
目录1.空指针访问非虚函数2.空指针访问虚函数3 野指针访问虚函数1.空指针访问非虚函数#include<iostream>class Foo{public: Foo():a(0){} void Bar(){std::cout<<"Bar:"<<a<<std::endl;}private: int a;};int main(){ Foo* f=NULL; f->Bar(); std::cout<<"hello"&原创 2021-03-13 10:34:13 · 795 阅读 · 1 评论 -
15.C++面经
@[C++面经-师兄版]1.操作系统进程切换为什么要切换内核栈;为了数据安全;…malloc申请的是虚拟内存还是物理内存,两者之间的关系,怎么转换?虚拟内存;虚拟内存实际上是操作系统对于内存管理的一种方式,这些内存对应的物理地址,应用程序本身是无法知道的;虚拟内存映射到物理地址:linux虚拟内存和物理内存的理解malloc申请完空间时立即在堆区分配一块实际的物理空间...原创 2020-03-24 00:13:52 · 10096 阅读 · 1 评论 -
14.C++面试复习
内容来源C++复习笔记2.基础知识2.1 基本语言(一)2.2基本语言(二)2.基础知识2.1 基本语言(一)说一下static关键字的作用?说下C++和C的区别?说一下C++中static关键字的作用?说一下C++中四种cast的转换?请说一下C/C++中指针和引用的区别?给定三角形ABC和一点P(x,y,z),判断点P是否在ABC内,给出思路并手写代码?请你说一下你理解的...原创 2020-04-12 00:28:54 · 19080 阅读 · 1 评论 -
13.C/C++开源项目推荐
C++/C开源项目1.cJSON2.Tinyhttpd3.MyTinySTL4.oatpp5.redis6.nginx1.cJSONcJSON解析器项目该项目相对简单,适合学习;cJSON解析器工具例子cJSON解析器按F12获得网页信息;通过cJSON解析器解析;2.TinyhttpdTinyhttpd项目Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服原创 2020-06-15 22:21:02 · 16120 阅读 · 3 评论 -
12.C++11 lambda关键字
参考链接原创 2020-05-11 22:06:16 · 9477 阅读 · 1 评论 -
11.struct与union计算方式、编译的四个过程、c++11新特性等
C++知识点41.Struct和union在内存中占用空间大小的计算2.final 和override3.STL4.C++11新特性5.C++编译的四个过程6.C++中的strict和class的区别7.枚举8.std::initialize_list9.线程池的实现10.函数11.const和define的区别1.Struct和union在内存中占用空间大小的计算struct和union在内...原创 2020-03-29 00:46:23 · 9672 阅读 · 1 评论 -
10.运算符重载、Effectiva等
C++知识点32.运算符重载3.指针4.Effective C++5.C++内存管理1.C++会自动生成的成员函数如果程序使用对象的方式要求这样做,而用户没有自己定义如何做,那么编译器将会生成下列函数的定义:(1)默认构造函数:默认构造函数要么没有参数,要么所有的参数都有默认值,如果没有定义任何构造函数,编译器将定义默认构造函数,下列情况将使用默认构造函数Star rigel; S...原创 2020-03-28 01:37:45 · 10232 阅读 · 1 评论 -
9.多继承与类模板
C++知识点之二1.多态--虚函数2.多重继承、虚基类、虚继承3.类继承-派生类访问基类的友元4.类模板1.多态–虚函数C++中序函数表位于只读数据段(.rodata),也就是C++内存模型中的常量区;而序函数则位于代码段(.text),也就是C++内存模型中的代码区;函数的重写/覆盖:(1)不再同一作用域(分别在基类和派生类);(2)函数名、参数、返回值类型都相同(返回类型协变除外...原创 2020-03-26 01:05:43 · 19485 阅读 · 1 评论 -
8.智能指针、类型转换、转换函数等
C++复习11.说明符和限定符2.智能指针3.c++类型转换4.宏定义中#和##的作用5.static变量6.new和定位new运算符7. 类继承、虚函数以及运算符重载;v![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212426354.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVp...原创 2020-03-23 23:20:32 · 10350 阅读 · 1 评论 -
7.ubuntu18配置VScode并运行c++项目
ubuntu18配置VScode并运行c++项目1.Ubuntu18安装VScode并配置;2.配置VScode4.常用快捷键1.Ubuntu18安装VScode并配置;终端安装:sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-makesudo apt-get updatesudo apt-get install ubuntu-ma...原创 2020-03-06 16:11:09 · 11318 阅读 · 5 评论 -
6.重要关键字
C++重要基础知识二1.常用关键字1.1const:1.2volatile:1.3mutable:1.4decltype:1.5static:1.6 this:1.7inline1.8 sizeof1.9 pragma pack1.10 extern1.11 switch和go1.常用关键字1.1const:1.用于声明常量,表示变量是不可以修改的;2.const引用可以延长临时变量的声明...原创 2020-03-17 00:25:33 · 9486 阅读 · 1 评论 -
5.C++内存池、内存分配
C++重要语言基础1.语言基础1.1空间的配置与释放--std:alloc(SGI实现)1.2内存池1.语言基础1.1空间的配置与释放–std:alloc(SGI实现)SGI标准模版库:设计时需要考虑的问题:从堆区申请内存空间;考虑多线程;考虑内存不足时的应对措施;考虑大量小区块可能造成的内存碎片问题;SGI的alloc类是使用了双层配置器:分别处理大内存请求和小内存请...原创 2020-03-16 01:54:15 · 9610 阅读 · 1 评论 -
4.C++指针与引用
C++指针与引用1.指针1.1C++空指针1.2指针运算1.4指向指针的指针1.5传递指针给函数1.6从函数中返回指针2.引用2.1引用和指针的区别2.2C++中创建引用2.3把引用作为参数2.4把引用作为返回值1.指针每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字符(&)运算符访问的地址,他表示在内存终端地址:#include <iostream>u...原创 2020-03-09 18:10:42 · 147 阅读 · 1 评论 -
3.C++函数调用过程
C++内存管理1.函数中普通变量的内存分配问题2.函数中数组变量的内存分配问题3.函数调用堆栈的过程1.函数中普通变量的内存分配问题当一个函数进行调用时,函数的形参、以及函数的局部变量都会在栈中被分配内存,而栈又分两种;栈低不变,栈顶不断动态变化;栈顶不变,栈低在动态变化;#include <iostream>using namespace std;void p...原创 2020-03-08 17:31:05 · 19978 阅读 · 1 评论 -
2.ubuntu下使用g++编译cpp工程
linux下使用g++编译cpp工程1.单个文件生成可执行程序2.多个源文件生成可执行文件3.编译预处理4.生成汇编代码5.源文件生成对象文件(目标代码、机器代码)6.创建静态库C++编译中相关文件后缀文件含义.a静态库(archive).C .c .cc .cp .cpp .cxx .c++c++源代码(需要编译预处理).hC或C++源代码的头文...原创 2020-03-08 15:21:31 · 10195 阅读 · 1 评论 -
1.继承与多态的理解与实例
c++多态的理解与实例1.private,public,protected关键字的理解2.C++继承2.1覆盖和隐藏基类成员变量或成员函数2.2继承时的构造函数和析构函数;2.3浅拷贝(位拷贝)和深拷贝2.4构造方法2.4.1 初始化列表2.5析构方法2.6多继承与虚基类1.private,public,protected关键字的理解private:它定义的只能由该类函数及其友元函数访问,不...原创 2020-03-07 15:01:07 · 10372 阅读 · 1 评论