C++内容(自用

C++从源文件到可执行文件的过程

这是另一个细致过程的blog
1.预处理 2.编译 3.汇编 4.链接
汇编产生的目标文件内容:至少有两个段——代码段和数据段
链接里动态/静态链接的优缺点

C++中的句柄(感觉用处不大)

C++和Java的联系与区别

全局变量和静态变量在什么时候初始化?

运行/编译/链接时出现的错误

说一下C++和C的区别

设计思想上:
C++是面向对象的语言,而C是面向过程的结构化编程语言
(面向过程——步骤化
面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可
面向对象——行为化
面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为)
语法上:
C++具有封装、继承和多态三种特性
C++相比C,增加多许多类型安全的功能,比如强制类型转换、C++支持范式编程,比如模板类、函数模板等

C++的const(神奇的东西)

这就是C++中的常量折叠:指const变量(即常量)值放在编译器的符号表中,计算时编译器直接从表中取值,省去了访问内存的时间,从而达到了优化。

而在此基础上加上volatile修改符,即告诉编译器该变量属于易变的,不要对此句进行优化,每次计算时要去内存中取数。(但有的编译器不会理会volatile)如果不用volatile,取const常量可能就从寄存器或符号表中取得了。

C/C++ 中指针和引用的区别

1.指针有自己的一块空间,而引用只是一个别名
2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小;
3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用;
4.作为参数传递时,指针需要被解引用才可以对对象进行操作,而直接对引用的修改都会改变引用所指向的对象;
5.可以有const指针,但是没有const引用;
6.指针在使用中可以指向其它对象,但是引用只能是一个对象的引用,不能 被改变;
7.指针可以有多级指针(**p),而引用只有一级;
8.指针和引用使用++运算符的意义不一样;
9.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄露。
PS.指针和引用到了汇编一层的时候,执行的命令可以说是一样的

C++11的常用新特性(非常好!)

C++11中STL的四种智能指针

ps:智能指针是在析构函数中清楚内存的
由于智能指针本质是类,因此智能指针是通过析构函数释放内存的!
unique_ptr代替了auto_ptr,因为前者——两个unique_ptr不能指向一个对象,即 unique_ptr 不共享它所管理的对象。它只能对资源管理权限实现转移。这意味着,内存资源所有权可以转移到另一个 unique_ptr,并且原始 unique_ptr 不再拥有此资源。

C++17新特性

C++17中的inline变量

一点注释:曾经的C++,多个文件引用同一个头文件时,若想使用一个共同的变量,则须在头文件中使用extern关键字,现在可以用inline了
这里是extern的用法

C++内联函数

C++四种强制类型转换

红黑树的优点(非C++)

C++STL中的allocater

这个东西涉及到STL本质的内存使用

C++中STL容器的底层原理

C++中STL利用迭代器删除元素

关联容器和顺序容器有不同的情况,对于list来说,它使用了不连续分配的内存,并且它的erase方法也会返回下一个有效的iterator,因此上面两种正确的方法都可以使用。

C++中STL的reserve()和risize()

C++中struct和class的区别

C++ 虚函数实现机制

靠vtpr虚函数指针和vtbl虚函数表

C++中纯虚函数

C++单继承多继承虚继承

堆与栈的区别和C++的内存分区

C++如何检测内存泄漏

C++ Volatile关键字解析

深入到了汇编语言和寄存器层面的理解,由于debug版和release版对汇编层次的语言检测标准不一样,所以引到下一个问题

debug版和release版的区别

拷贝构造函数,浅拷贝和深拷贝
模板的详细介绍

模板和虚函数的选择

个人理解:
虚函数更多是针对一种函数、一种操作所实现的多样性(做面食里做蒸馒头和做炒面的区别,主料相同但做法完全不同)
模板更多是针对同一种操作里不同类型所实现的多样性(烤串里烤羊肉串和猪肉串的区别,做法完全相同但主料不同)

new和delete的实现原理

C++和Java的区别与联系

override(重写)与final(最终)两个关键字

关于变量地址+1的有趣实质

发布了9 篇原创文章 · 获赞 1 · 访问量 154

猜你喜欢

转载自blog.csdn.net/qq_37782336/article/details/104533032
今日推荐