| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++一些知识点总结 -> 正文阅读 |
|
[C++知识库]C++一些知识点总结 |
C++知识static、final、volatile关键字static: 静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的,其它文件中可以定义相同名字的变量,不会发生冲突; 对于局部变量 静态局部变量在程序执行到该对象的声明处时被首次初始化 静态函数 在函数的返回类型前加上static关键字,函数即被定义为静态函数。它只能在声明它的文件当中可见,不能被其它文件使用。 面向对象中: 静态成员函数为类服务而不是为某一个具体对象服务,没有this指针 final: volatile: 引用引用不是新定义一个变量,而是给已存在变量取了一个别名,它和它引用的变量共用同一块内存空间。
指针和引用的不同:
函数重载的原理C++编译器用参数个数和参数类型对每一个函数标识符进行专门编码,编译后链接时,通过这个编码可以找到对应函数的地址链接起来 C语言没办法支持重载,因为同名函数没办法区分。而C++是通过函数修饰规则来区分,只要参数不同(返回值不影响是否构成重载),修饰出来的名字就不一样,就支持了重载 extern “C”C++在函数前加extern “C”,意思是告诉编译器将函数按照C的风格来编译 NULL和nullptrNULL实际是一个宏,被定义为字面常量0,或者被定义为无类型指针的常量 ((void *)0) nullptr是C++11关键字,所以nullptr表示指针空值时,不需要包含头文件 为了提高代码的健壮性,表示指针空值时最好使用nullptr 宏
优缺点: 1.增强代码的复用性。 缺点:
替代宏的语法:
类和对象面向对象和面向过程 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 面向对象的三大特性: 封装: 将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。 顺序表和链表的区别1.空间是否连续 链表经典程序栈和队列牢牢把握性质,会解决相关题目 二叉树、堆排序各个排序的复杂度,快排、堆排、归并排序都要会写 AVL树红黑树STL容器什么是迭代器,作用是什么 1.体现了容器的封装性,不暴露容器实现细节的情况,提供了一种类似的方式去访问修改容器 vector 和 list 的区别 1.顺序表和链表的区别 malloc和free的区别malloc/free和new/delete的共同点是:都是从堆上申请空间,并且需要用户手动释放。不同的地方是:
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 21:53:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |