C++学习总结

C++学习总结
开学已经一个多月了,说实话这一个多月学的编程知识我感觉比上个学期一学期都多,而且这学期也没有OJ的练习题了,知识掌握情况很不好,到现在为止之前学习的知识有很多已经忘了,感觉现阶段的知识总结很有必要,闲话少说我们步入正题。
首先介绍一下c++11部分新增内容,感觉挺好使的:
一:constexpr

  1. constexpr对象:声明常量表达式;形如:constexpr int size = 20; constexpr int limits=size + 10;
  2. constexpr 定义的变量如果没有明确要使用的地址,编译器可以选择不为其分配储存空间;而对于const定义的变量编译器一定会为其分配储存空间
    二.auto
  3. 用auto声明变量的类型,由编译器去自动分析表达式的类型,推断出变量的实际类型
  4. auto定义的变量必须有初值
    3.适合定义不确定类型的变量
    三.decltype
    1.选择并返回操作数的类型(如:decltype(sizeof(int) size);size的类型就是sizeof(int)结果的类型)
    2.编译器会分析表达式的类型,并不真正计算表达式的值
    3.希望从表达式推断出要定义的变量的类型,但是又不想用这个表达式的值初始化该变量时,用decltype
    四.range-for语句
    1.语法形式:for( declaration : expression )
    statement;
    expression是要处理的序列(遍历)
    初始值列表、数组、vector或string等类型的对象
    declaration定义一个变量,表示序列中的每个元素
    statement是一条语句或语句块,表示对元素的处理代码
  5. 使用范围for语句的时候要注意,在for的语句块内不应该改变正在遍历的序列的大小。可以理解为范围for是简化的for语句,而被省略的for循环初始化部分已经预存了序列的开头和结尾位置,因而不能再改变序列的大小了,例如不能向序列中加入元素或删除元素。
    再来说一下指针(好用难学)
  6. 指针变量是一种特殊的变量,变量中存放的不是某种数据 类型的数据,而是另一个变量或常量的地址。
  7. 定义:int pi;
    或int
    pi;
  8. 指针持有一个对象的地址,称为指针“指向”该对象
  9. 通过指针可以间接操纵它指向的对象
  10. 如果指针指向一个对象,则可以通过指针间接访该对象,使用指针解引用运算符“*”
  11. 空指针:int *p1 = nullptr;
    int *p2 = 0;
    int *p3 = NULL;
    7.运算:同类型的指针可以进行相等(==)或不相等(!=)的比较操作,比较的结果是 布尔类型;指针可以进行加或减整数值的算术运算;自增、自减运算适用于指向数组元素的指针
  12. 注意:可以持有任何类型的地址值,即通用指针相关的值是个地址,但是该地址保存的对象类型不知道;不能操纵void指针指向的对象,只能传送该地址值或者和其他地址值进行比较;不允许void指针到其他类型指针的直接赋值
    引用
  13. 一般的应用指的是左值引用(等号左边的)
  14. 可以理解为变量的别名,引用的所有操作相当于对变量的操作
  15. 不能定义引用的引用
  16. 右值引用:右值引用就是必须绑定到右值的引用
    定义和初始化右值引用的形式
    类型 &&右值引用变量 = 右值表达式;
    右值引用由类型标识符和两个取地址符(&&)定义
    右值引用必须被初始化,初始值是右值表达式
    不能将右值引用直接绑定到一个左值上
  17. 右值引用只能绑定到一个将要被销毁的对象上
    Const
  18. const 数据类型 变量(变量不可改变)
  19. const 数据类型 指针(常指针)
  20. const 数据类型 引用(常引用)
  21. type* const 变量(指向非const对像的const指针)
  22. const type* const 变量(指向const对象的const指针)
  23. const type 函数明(){}(返回值为常量的函数)
  24. const type 函数明()const{}(常函数)
  25. const type 函数明(const int x){}(x为常量)
    函数
    1.函数定义的一般格式
    <函数值类型> <函数名>(<形式参数表 >)
    {语句序列 }
    一个函数由函数头和函数体两部分构成。
    函数头中通常包括函数名,形式参数表以及函数的返回值类型, 其中形式参数表必须包含在一对圆括号中。
    函数体-由一对花括号扩起来的语句序列组成。
    2.函数值类型-即函数的返回值类型
    (1)返回简单类型 如:int、long 、float、double、char等
    (2)返回结构类型 (3)返回指针类型 (4) 返回引用类型
    注意:如果函数无任何返回值,这时函数的返回值类型应标 记为void。void类型称为无类型或空类型。
    3.形式参数表(即形参表)
    函数的参数表用于实现函数间的数据联系。
    形参的说明格式:类型 形参名
    (当有多个形参时,各参数说明之间用逗号分隔,如: 类型 形参名1, 类型 形参名2,…,类型 形参名n )
    注意:每个形参必须同时给出形参的类型和名称。
    如:int max(int a,b),作为函数首部定义是错误的。 因为形参b缺少类型说明符,即使与a类型相同,但作为形参说明也不 能省略类型符int。
    形参:
    1.定义函数时需考虑设置形参,形参的个数及类型根据需要 设定(也可以没有参数,称为无参函数)。
    2.形参可以接收主调函数传递的实参的值。在函数中对形参 进行处理,并将处理结果返回到主调函数。
    3.形参是在函数调用时分配存储空间,同时接收实参的值。 当函数执行结束后,系统将自动释放形参所分配的存储空 间。因此,形参属于函数的局部变量,只能在该函数中使 用。
    4.当形参为引用类型或指针类型时,利用形参不仅可以访问 实参的值,还可以改变实参的值。
  26. 函数体
    1.由{ }括起来的语句序列构成,是实现函数功能的主体。
    2.函数的编写过程类似于主函数。在函数中可以调用其它函数。
    3.在函数体中,使用return语句返回函数执行的结果。
    4.语句格式: return 表达式;//其中表达式类型应与函数返回值类型一致
    对于无返回值的函数,也可使用return;将控制返回到主调函数。
    说明:在一个函数中允许出现多个return语句,但在函数执行期 间只能有一个语句起作用。在函数体的最后位置,一个无返回值 的return;语句可以省略。
    结构体
    定义: 结构是一个或多个变量的集合, 结构中的变量可能为不同的类型, 将这些变量组织在一个名字之下。
    作用:由于结构将一组相关的变量看作一个存储单元, 而不是各自独立的实体,因此结构有助于组织复杂的数据。
    结构类型定义的一般格式为
    struct 结构类型名 {
    类型名1 成员名1; 类型名2 成员名2; ……
    类型名n 成员名n; };(注意:最后的分号(;)不能掉)
    struct:保留字。
    注意:1.数组不能彼此赋值,但同类型的结构变量可以彼此赋值。
    2. 结构类型是 自定义数据类型, 不是变量
    3.结构类型名不得与其它变量的名字相同
    4. 结构成员名可以与其它变量的名字相同
    5. 结构类型定义之后一定要跟一个分号
    6. 结构变量 同其他变量一样 也具有存储类型
    7.不同类型的结构变量不允许相互赋值
    8.结构类型名必须包含关键字struct
    9.结构变量的初始化与数组变量的初始化相同
    话说这么多的知识,很多都用不起来,尤其是指针,引用,不敢用害怕错,最多也就用个传参,距离老师的要求还差的很远,最近面向对象开了个头,我对系统的编写也有也一些想法,最近再查一下资料,期末作业应该可以着手准备了。
乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值