博客
关于我
C++学习笔记十
阅读量:304 次
发布时间:2019-03-01

本文共 985 字,大约阅读时间需要 3 分钟。

C++学习笔记十

推荐一个github的开源

  1. const
  2. 顺序容器之关系操作符
  3. 容器大小

const

const 类型有类型检查

const 类型默认为文件局部变量

cont char* a:指向的变量不可修改值,指针值可改变

char * const a:指针不可改变值(常指针),指向的变量值可变
const char * const a:常指针、常变量

常指针必须进行初始化

const T &a:引用,不可变,增加函数效率(对对象使用)

类中的const几项规则:

  • const数据成员
    const数据成员的初始化方式
  1. 在定义中进行初始化const int dataMember = 1;
  2. 在构造函数里面使用初始化列表进行初始化Test::Test(i):dataMember(i){}
  3. 在实现文件中使用const int Test::dataMember = 1进行初始化
  4. 和static结合,也可以直接在定义中进行初始化static const int dataMember = 10

C++中,static类型的成员数据不能在类内进行定义!!!只能在实现文件中使用int Test::dataMember = 1进行初始化!但是和const配合,则可以直接在类内进行初始化

  • const成员函数
  1. 什么是const成员函数?在函数的参数列表后面、大括号前增加一个const关键字
  2. 什么样的函数使用const成员函数?任何不会修改数据成员的函数都应该声明为const类型
  3. 只有const成员函数才有资格操作常量或常对象
  4. const对象只能访问const成员函数,且默认调用const成员函数
  5. const成员函数不能调用非const成员函数

顺序容器之关系操作符

所有容器类型都支持用关系操作符来进行两个容器之间的比较

容器的比较是基于容器内元素的比较,容器的比较使用了元素类型定义的同一个关系操作符。若元素无该类型的操作符,则容器不能进行该类型的比较

容器大小

所有容器都提供

  1. size():返回元素个数
  2. max_size():返回最多可容纳的元素个数
  3. empty():容器是否为空
  4. resize(n):调整容器大小,使之能容纳n个元素,若过大则删除多于的元素,过小则初始化新元素
  5. resize(n, t):初始化的新元素的值为t

resize可能会使得迭代器失效

转载地址:http://lfao.baihongyu.com/

你可能感兴趣的文章
NN&DL4.8 What does this have to do with the brain?
查看>>
nnU-Net 终极指南
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
No 'Access-Control-Allow-Origin' header is present on the requested resource.
查看>>
NO 157 去掉禅道访问地址中的zentao
查看>>
no available service ‘default‘ found, please make sure registry config corre seata
查看>>
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>