| |
|
开发:
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++学习笔记 |
6/12 当visual c提示找不到文件时,可能是所创建的程序类型错误,应改换另一种类型的程序 用double定义变量时,数值后一般不加字母 char定义字符型变量时,只能定义单个字符,且必须用英文格式的单引号 "\\"输出一个"\" "\t"固定格式 用char定义字符串时,例:char sh[]="skals"; 用string定义字符串时,例:string sh="sjajsj2"; bool定义数据为布尔型,只有false(0)和true(1)两种值,该数据类型固定占用一个字节 递减放前面,先减一后再使用;递减放后面,先使用再减一。递增相同 在比较运算符中,除<和>外,其他皆由两个符号组成 在c++中,只要不是0,皆为真 !置于表达式之前,使得布尔值变为原来相反的值 if条件后面不能加分号 函数写完时,最后必须给一个返回值(如果函数前的标识为void,则不需要) 三目运算符中,可像这样写: switch语句执行效率比if语句执行效率高 指针定义语法:数据类型 *指针变量名 在程序中,要尽量避免出现野指针,出现后运行即报错 常量指针的指向可以修改,但是指针指向的值不可以修改 指针常量的指向不可以修该,但是指针指向的值可以修改 结构体定义语句末尾要加“;” 另外,如果switch后不加{},则switch语句后只能跟一段分行,所以switch语句必须加上{} 6/20 在普通变量前面加static,属于静态变量 在全局区中的量:全局变量?? ?静态变量(static关键字)?? ?字符串常量?? ?const修饰的全局变量(全局常量) 在函数中,严禁返回局部变量的地址 局部变量和形参数据会存放在栈区 运用new运算符时,new int(10)代表的是一个指向10变量的地址 6/21 引用时使用的数据类型应与原变量的数据类型相同 函数的声明和实现只能有一个有默认参数 6/22 函数重载的满足条件: 函数的返回值不可以作为函数重载的条件 当函数重载碰到默认参数,出现二义性,报错,尽量避免这种情况 成员属性设置为私有的优点: 不要利用拷贝构造函数,初始化匿名对象,会出现重定义 6/23 c++中拷贝构造函数调用时机通常有三种情况: 默认情况下,c++编译器至少给一个类添加3个函数 构造函数调用规则如下: 浅拷贝:简单的赋值拷贝操作 当其他类对象作为本类成员,构造时候先构造类对象,再构造自身,析构顺序与构造相反 6/24 静态成员变量:(也有访问权限) 静态成员函数可以访问静态成员变量,不可以访问非静态成员变量 空对象占用内存空间为:1 只有非静态成员变量属于类的对象上,其他都不属于 this的作用: 在成员函数后面加const,修饰的是this指向,让指针指向的值也不可以修改 6/25 常对象不可以调用普通成员函数,只能调用常函数 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 只能利用全局函数重载左移运算符 重载后置递增时返回值,重载前置递增时返回引用 6/26 父类中所有非静态成员属性都会被子类继承下去 如果子类中出现和父类同名的成员函数,子类的同名成员会隐藏掉父类中所有同名成员函数 子类对象可以直接访问到子类中同名成员 同名静态成员处理方式和非静态处理方式一样,只不过有两种访问的方式(通过对象和通过类名) 当菱形继承,两个父类拥有相同数据,需要加以作用域区分 6/27 多态满足条件:1、有继承关系?? ?2、子类重写父类中虚函数 父类指针在析构时候,不会调用子类中析构函数,导致子类如果有堆区属性,出现内存泄漏 6/28 对象cout是ostream类的一个实例,并且在main函数被调用之前已经创建 6/30 无法打开源文件,可能是找不到文件路径。把头文件的绝对地址加上,无法打开源文件的问题就解决了。 7/29 冒泡排序:两个相邻数进行比较,依据大小进行交换,不断循环最后将所有的数排序 选择排序:每趟循环将最小(大)的数置于最前(后),多次循环后将所有的数排序 7/30 插入排序:选择一个数,将这个数与这个数之前的数进行比较,找到合适位置将其插入其中,多次循环之后将所有数进行排序 希尔排序:(针对直接插入排序算法进行改进后的算法)设定一个元素间隔,按间隔进行分组后比较,依照大小进行交换。利用循环多次缩小间隔,进行比较、交换,最终将所有数排序 8/1 快速排序:先从数列中取出一个元素作为基准数,扫描数列,将比基准数小的元素全部放到它的左边,大的或等于基准数的元素全部放到它的右边,得到左右两个区间,再对左右区间重复上述步骤,直到各区间少于两个元素 归并排序:先将数据分组,在组内进行排序。再扩大单个组的数据容量,进行排序。多次重复之后将所有数据排序 面向对象三大特性:封装,继承和多态 8/2 起始迭代器:指向容器中第一个元素 8/4 rfind从右往左查找,find从左往右查找 8/7 在类中,析构函数和构造函数必须公开 |
|
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年12日历 | -2024/12/29 4:01:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |