《c++ primer》读书笔记--数组与指针

1.缓冲区溢出:我们在编程时没有检查下标,并且引用了超出数组或其他类似数据结构边界的元素时。

2.建议:尽量避免使用指针和数组,两者都容易引起不可预料的错误,指针常用于低级操作。许多有用的程序都可以不用数组和指针。

          vector和迭代器代替一般数组,string类型代替c风格字符串。

3.一个有效的指针必须是一下三种状态之一:

  (1)保存一个特定对象的地址

  (2)指向某个对象后面的另一个对象

  (3)是0值,表示他不指向任何对象

4.实践须知:如何可能的话,除非所指的对象已经存在,否则不要先定义指针。如果非要分开定义,可将指针现行初始化为0,程序可判断该指针并未指向一个对象。

5.void *指针(特殊指针)

  他可以保存任何类型对象的地址。(不能使用void指针操作他所指向的对象)

6.指针与引用的比较

  (1)定义引用是没有初始化时错误的

  (2)给引用赋值修改的是该引用所关联的对象的值,而不是使该引用与另一个对象关联(引用从一而终)

7.指针的指针    v表示value,a表似乎address

8.指针与typedef

  typedef string *pstring;

  const pstring cstr;

  问cstr变量是什么类型?-------答 string *const cstr                 申明const pstring时,const修饰的是pstring的类型,这是一个指针。因此该申明语句是吧cstr定义为指向string类型对象的const指针。

9.c风格字符串

  字符串字面值的类型就是const char 类型的数组。        一般理解为以空字符null 结束的字符数组。

  永远不要忘记字符串结束符 null

10.允许动态分配空数组

  调用new动态创建长度为0的数组是合法的,new返回有效的非零指针。该指针与new返回的其他指针不同,不能进行解引用操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值