![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
qq_43212233
这个作者很懒,什么都没留下…
展开
-
学习c++的意义
c系的历史 1 , UINX操作系统诞生之初是直接用汇编语言汇编语言写出 。 随着UINX的发展,汇编语言成为开发效率的一个瓶颈 。 2 , 1971年 , K.Thompson 和 D.Ritchie 对B语言进行了改良 , 使其直接产生机器码 ,C语言C语言诞生 。 UINX用C语言重写 , 同时c语言再实践过程中得到了发展 。 3 , 面向过程的方法论(C语言)在设计中暴露越来越多的缺陷时 ...原创 2019-08-20 21:31:04 · 244 阅读 · 0 评论 -
C++中的新成员
动态内存分配 1 , c++ 通过 new 关键字进行动态内存申请 , 基于类型进行的 2 , delete 关键字用于内存的释放new 关键字和 malloc 函数的区别 1 , new 关键字是 C++ 的一部分 , malloc 是由 C 库提供的函数 2 , new 以具体类型为单位进行内存分配 , malloc 以字节为单位进行内存分配 3 , new 在申请单个类型变量的时候可以进行初...原创 2019-09-11 20:04:16 · 65 阅读 · 0 评论 -
函数重载分析
重载 overload 同一个标识符在不同的上下文有不同的意义 同一个函数名定义不同的函数 函数重载至少满足下面的一个条件 1 , 参数个数不同 2 , 参数类型不同 3 , 参数顺序不同 注意事项 1 , 重载函数在本质上是相互独立的不同函数 2 , 函数返回值不能作为函数重载的依据 3 , 函数重载是由函数名和参数列表决定的 函数重载的本质是相互独立的不同函数 ...原创 2019-09-11 19:23:15 · 134 阅读 · 0 评论 -
函数参数扩展
函数参数默认值 C++可以在函数声明时为参数提供一个默认值 , 当函数调用时没有提供参数的值 , 则使用默认值参数的默认值必须在函数声明中指定 错误情况 : 默认参数规则 1 , 参数的默认值必须从右向左提供 2 , 函数使用了默认值 ,则后续参数必须使用默认值 函数占位参数 在 C++ 中可以为函数提供占位参数 占位参数只有参数类型声明 , 没有参数名声明 一般情况下 , 在函数体内部无法正...原创 2019-08-21 23:04:25 · 75 阅读 · 0 评论 -
内联函数
C++ 中推荐使用内联函数替代宏代码片段 C++ 中使用 inline 关键字声明内联函数 内联函数 1 , C++ 编译器可以将一个函数进行内联编译 2 , 被 C++ 编译器内联编译的函数叫做 内联函数 3 , C++ 编译器直接将函数体插入函数调用的地方 4 , 内联函数没有普通函数调用时的额外开销(压栈 , 调整 ,返回) 5 , C++编译器不一定会满足内联请求 6 , 内联函数具有普...原创 2019-08-21 22:41:13 · 94 阅读 · 0 评论 -
引用的本质分析
引用作为变量别名而存在 , 可以在一些场合可以替代指针 引用相比于指针来说有更好的可读性和实用性 const 引用 1 , C++ 引用让变量拥有只读属性2 , 当使用常量对 const 引用进行初始化时,C++ 编译器会为常量分配空间,并且引用作为这段空间的别名 引用的本质 引用在 C++ 内部实现是一个 指针常量 1 , 在编译过程中 , 指针常量 作为 引用 的内部实现 , 因此引用所占空间...原创 2019-08-21 21:12:06 · 184 阅读 · 0 评论 -
布尔类型 和 引用
布尔类型 1 , C++ 在 C 语言的基本类型系统之上增加了 bool ; 2 , C++ 中的 bool 可取的值只有 true 和 false 3 , bool 只占一个字节 ; 4 , true 代表真值 , 编译器内部用 1 来表示 ,true 表示任意非 0 值 ; 5 , false 代表 非真值 , 编译器内部用 0 表示 ,false 只表示非 0 值 ; 6 , 布尔类...原创 2019-08-21 20:28:25 · 141 阅读 · 0 评论 -
进化后的 const 分析
C语言中的 const 1 , const 修饰的变量是只读的 , 本质还是变量 2 , const 修饰的变量在栈上分配空间 3 , const 修饰的全局变量在只读存储区分怕配空间 4 , const 只在编译期有用 , 在运行期无用 5 , const 修饰的变量不是真的常量 , 他只是告诉编译器该变量不能出现在赋值符号的左边 6 , const 将具有全局生命周期的变量存储在只读存储区 C...原创 2019-08-21 19:59:17 · 67 阅读 · 0 评论 -
C到C++的升级
C到C++的关系 1 , C++ 继承了所有的C特性,C++以C语言为基础 2 , C++获得了面向对象的支持 3 , C++在C语言的基础上 类型加强 ,函数加强 ,异常处理 … C到C++的升级 C++更加强调语言的实用性 所有的变量都可以在需要使用时再定义 C语言中的变量都必须在作用域开始的位子定义 register关键字请求编译器把局部变量存储于寄存器中 1 , 在C++中依然支持 reg...原创 2019-08-20 22:42:03 · 50 阅读 · 0 评论 -
强制类型转换
C语言的强制类型转换 1 ,(Type)(expression) 2 , Type (expression) 存在的问题 1 , 过于粗暴 任意类型之间都可以进行转换 , 编译器很难判断其正确性 2 ,难于定位 在源码中无法快速定位所有使用强制类型转换的语句 如何进行安全可靠的转换? C++把强制类型转换分为 4 中不同的类型 static_cast 强制类型转换 1 , 用于基本类型间的转换...原创 2019-09-11 21:05:09 · 123 阅读 · 0 评论