还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
编础C++程基掌握现代软件开发的核心编程语言深入学习强大且灵活的编程工具系统性掌握从基础到高级的C++知识语简C++言介创语始人言特性比雅尼·斯特劳斯特鲁普兼具面向过程特性1983年开发强大的面向对象功能高性能计算支持发历C++的展史1C语言起源丹尼斯·里奇发明系统编程语言基础2C++98第一个国际标准确立核心语言特性3C++11现代C++时代到来重大更新与改进4C++17/20持续演进完善更多现代特性应领C++的用域统发戏发软系与嵌入式开游开大型件工程操作系统内核游戏引擎核心银行金融系统驱动程序与底层软件高性能图形处理航空航天软件发环安装C++开境编译GCC器Visual StudioLinux系统首选Windows平台集成开发环境配合Make工具使用丰富调试功能Clang跨平台编译器现代C++标准支持良好第一个C++程序解析基本框架头文件包含部分命名空间声明主函数定义int main程序入口点输出语句cout你好,世界!标准输出流返回语句return0;表示程序正常结束编译运与行流程码预处源代理.cpp文件展开宏和头文件链编译接生成可执行文件生成目标文件释码风注与代格单释释缩进规行注多行注范//这是单行注释/*这是多行注释一致的缩进方式*/规命名范清晰的变量函数命名关键标识字与符关键标识规则字示例符int,return,class字母、数字、下划线不可作为变量名使用首字符不能是数字语言预定义特殊含义区分大小写类基本数据型类型大小范围int4字节-2^31~2^31-1float4字节6~7位有效数字double8字节15~16位有效数字char1字节-128~127bool1字节true/false变常量与量变义量常量宏定int age=25;const floatPI=
3.14;#define MAX100值可以改变值不可更改预处理阶段替换输输入与出操作标输准出cout结果是result;标输准入cinvalue;格式控制coutfixedsetprecision2;类转换型隐转换显转换现转换式式代操作符自动进行强制类型转换static_cast可能丢失精度程序员明确指定dynamic_castconst_cast运础算符基术运关运算算符系算符+,-,*,/,%,,==,!=赋值运逻辑运算符算符=,+=,-=,||,!达语表式与句达语复语表式句合句产生值的代码片段执行操作的完整指令花括号包围的语句块例如:a+b*c例如:x=y+z;作为单一单元执行语if条件句简单条件if score=60{cout通过;}双向条件if age=18{cout成年;}else{cout未成年;}多条件分支if score=90{cout优;}else ifscore=80{cout良;}else{cout一般;}选择语switch句选择多分支基于整型或枚举值语case句每个分支对应一个值语break句防止执行下一分支语default句处理未匹配情况环语while循句检查条件while条件表达式条件为真才执行循环环执循体行{语句块}循环体内语句反复执行条件更新循环内部修改条件确保最终条件为假环语for循句达达初始化表式条件表式循环开始前执行一次每次循环前检查常用于初始化计数器决定是否继续循环达更新表式每次循环后执行通常用于改变计数器环do...while循语特点基本法先执行后判断do{至少执行一次循环体//循环体}while条件;适合先处理再决定是否继续环语循控制句语语语break句continue句goto句立即结束整个循环跳过当前迭代直接跳转到标签位置跳到循环外继续执行开始下一次循环不推荐使用义调函数定与用声明函数函数原型告知编译器义定函数实现函数具体功能调用函数在程序中使用函数值函数参数与返回值参数引用参数复制实参值到函数内部通过别名访问原始数据原始数据不会改变可以修改调用者数据值返回技巧使用结构体返回多值通过引用参数返回多值载函数的重签编译选择多个同名函数函数名器参数类型或数量不同函数名+参数列表根据调用时参数匹配用于区分重载函数自动选择合适版本递归函数调函数用自身基本情况解决问题的子问题递归终止条件调栈递归用深度情况注意防止栈溢出问题分解并再次调用组础数基数组是相同类型元素的有序集合元素存储在连续内存空间通过索引访问各个元素维组二数处字符串理12风C格字符串字符串操作函数以\0结尾的字符数组strlen-获取长度char str
[10]=hello;strcpy-复制字符串3类stringC++标准库中的字符串类提供更丰富的操作接口针指概念与基本用法指针概念存储内存地址的变量指针声明int*p;//整型指针取值操作*p访问指针指向的值针组关指与数系组针访问组针组历数名特性指数指数遍表示首元素地址*arr+i等价于arr[i]int*p=arr;不可修改的常量指针指针偏移访问元素forint i=0;i针运指算1指针加法p+n移动n个元素-1指针减法p-n向前移动4指针差值p1-p2计算元素间距0空指针表示不指向任何对象动态内存分配运new算符分配单个对象int*p=new int;动态组数分配连续内存块int*arr=new int
[10];运delete算符释放分配的内存delete p;delete[]arr;结构义体的定与使用义类自定数据型组合不同类型数据结构义体定struct Student{string name;int age;};员访问成使用点运算符:student.name举联枚与合体举类联枚型合体定义命名的整型常量集合共享内存空间的多种类型enum Color{union Data{RED,GREEN,BLUE inti;};float f;char c;};类对础和象基员封装public成数据与方法捆绑外部可直接访问信息隐藏对象接口对创员象建private成类的实例化仅类内部可访问内存分配实现细节隐藏构构造函数与析函数构造函数对象创建时自动调用初始化对象状态载构重造提供多种初始化方式参数不同的多个构造函数构析函数对象销毁时自动调用释放资源针员this指与成函数针员this指成函数指向当前对象定义在类内部隐式传递给成员函数可访问所有类成员员常成函数不修改对象状态void funcconst{...}饰员const修成const对象只能调用const成员函数const成员函数不能修改对象状态const数据成员必须在构造时初始化态员静成态员变态员静成量静成函数所有对象共享的数据不依赖具体对象类外定义并初始化只能访问静态成员通过类名直接访问使用类名直接调用继类承与派生继关承系子类获得父类特性访问控制public/protected/private继承扩展功能子类添加新特性态多与虚函数虚函数使用virtual关键字允许子类重写运行时多态基类指针指向子类对象调用子类函数版本虚函数表实现动态绑定机制提高执行效率类抽象与接口设计接口提供统一操作规范纯虚函数virtual voidfunc=0;类抽象特性不能实例化对象类责子任必须实现所有纯虚函数运载算符重员成函数形式类内部定义左操作数为对象本身友元函数形式类外部定义需要类声明为友元见载运常重算符+,-,==,!=,=,[]处异常理机制块块语try catchthrow句可能发生异常的代码捕获并处理异常抛出异常对象被监控区域根据类型匹配中断正常执行流程标库准模板STL概述算法迭代器常用数据处理操作连接容器与算法sort,find,transform类似于智能指针容器仿函数存储和组织数据行为类似函数的对象vector,list,map等增强算法灵活性STL算法与迭代器算法类型代表算法功能非修改序列find,count不改变容器内容修改序列copy,swap改变元素值或位置排序算法sort,merge元素排序或有序操作数值算法accumulate数学计算输输文件入出输输文件入流文件出流ifstream类ofstream类读取文件内容写入数据到文件文件流操作打开/关闭文件检查文件状态定位文件指针现览代C++新特性概关键达针auto字lambda表式智能指自动类型推导匿名函数对象自动内存管理动语义移提高资源转移效率见发误常C++开区错误阱内存管理性能陷内存泄漏过度使用动态内存野指针访问不必要的对象复制重复释放实问题工程践头文件循环包含未定义行为依赖总结实议与践建。
个人认证
优秀文档
获得点赞 0