博客
关于我
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/

你可能感兴趣的文章
MySQL的Geometry数据处理之WKB方案
查看>>
MySQL的Geometry数据处理之WKT方案
查看>>
mysql的grant用法
查看>>
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>