c++学习总结

开学已经接近一个月,累计上了差不多8节c++的课程,在这段时间,我对c++有了更深刻的认识,这使我越发感觉c++的奇妙,这驱使我更努力的学习c++,希望编写一些实用的程序,让人们的生活变得更加便捷。 c11里有很多更新的内容,使我们的编程变得更加便捷。 1:指针 指针的特点 指针持有一个对象的地址,称为指针“指向”该对象 通过指针可以间接操纵它指向的对象 取地址运算符 指针存放指定类型对象的地址,要获取对象的地址,使用取地址运算符“&” // pi存放int变量ival的地址 // 或者说pi指向ival char ch = 'a', *pc = &ch; // pc指向字符型变量ch 取地址运算符 指针存放指定类型对象的地址,要获取对象的地址,使用取地址运算符“&” // pi存放int变量ival的地址 // 或者说pi指向ival char ch = 'a', *pc = &ch; // pc指向字符型变量ch 指针的类型 指针的类型即指针指向的类型 每个指针都有相关的类型,需要在定义指针时指出 type* pointer 指针的类型指出了如何解释该内存地址保存的内容,以及该内存区域应该有多大 不同类型指针的表示方法和保存的地址值并没有分别,区别只是指针指向的对象类型不同 int *pi;  char *pc; 指针的类型 指针的类型即指针指向的类型 每个指针都有相关的类型,需要在定义指针时指出 type* pointer 指针的类型指出了如何解释该内存地址保存的内容,以及该内存区域应该有多大 不同类型指针的表示方法和保存的地址值并没有分别,区别只是指针指向的对象类型不同 int *pi;  char *pc; 动态内存管理方法 C++通过new和delete运算符进行动态存储空间的管理 动态内存管理方法 new delete new运算符 在堆上动态分配空间,创建对象,并返回对象的地址 一般将new返回的地址保存在指针变量中,以便间接访问堆上的对象。 new表达式的三种形式 分配单个对象:new 类型 或者 new 类型(初始值) 分配多个连续存储的对象:new 类型[数组大小] 定位new,在指定位置分配空间:new (指针) 类型; new 类型 或者 new 类型(初始值) 在堆上分配特定类型的单个对象,并返回其地址 delete运算符 堆上的空间在使用后必须释放,否则会造成内存泄漏 即动态内存空间使用后未回收,导致一直被占据 new运算符分配的空间用delete运算符释放 释放new分配的单个对象的delete形式。 2引用: 分为左值引用和右值引用,但一般引用指左值引用,引用是对象的另一个名字,左值引用(类型 &引用变量=初始值),右值引用(类型 &&右值引用变量=右值表达式); 3const C++允许将一个非const地址赋值给const指针 int ival =1024; const int pi = &ival;//对pi所指向的ival的值进行常量限定,可以直接改变,但是不能用指针改变。 const C++允许将一个非const地址赋值给const指针 int ival =1024; const int pi = &ival;//对pi所指向的ival的值进行常量限定,可以直接改变,但是不能用指针改变。 4:标准库vector 表示对象的集合,其中所有对象的类型都相同; 5 :迭代器 类似于指针类型,提供对对象的间接访问,在容器或string对象上使用,begin()和end()操作返回容器对象上的迭代器; 6:函数基础 函数定义(返回类型 函数名(参数列表){函数体}),函数调用(函数名(实参列表)),函数声明由函数返回类型.函数名和参数列表构成; 参数传递:当实参的值被复制给形参时,形参和实参是两个独立的对象,实参被称为按值传递,当形参时引用类型时,对应的实参被称为按引用传递,c++默认的参数传递方式是按值传递;数组参数:数组做参数时,将传递数组第一个元素的地址,且数组长度与参数声明无关; 返回类型和return语句:return语句形式(return,return 表达式),默认情况下,函数的返回值是按值传递的,将函数声明为返回引用,则不需要对return语句中的表达式进行复制,而是返回对象本身; 7:作用域和存储类型 对象的生存期 是指程序执行过程中对象存在的时间 对象的生存期与对象的作用域和存储类别密切相关 名字的作用域 程序的一段区域,名字的作用域指的是该名字可以在哪些程序文本区使用。 对象的存储类别 创建对象时分配内存空间的方式和内存空间的类型 全局对象和局部对象 全局变量可以在整个程序中出现,而局部变量只能在相应作用域中出现。 这些内容虽然有些在假期中看了一看,但学起来还是非常吃力,纸上得来终觉浅绝,知此事要躬行。我们的实践还是太少了,要多多写写程序,在实践中进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值