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

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

C++学习笔记十:const与容器操作

作为一名开发者,我最近在学习C++,每天都会记录自己的学习笔记。今天想整理一下最近的学习内容,希望能帮助自己更好地理解这些概念。


const关键字

在C++中,const是一个非常重要的关键字,用于定义常量或常引用。了解它的使用方式对于编写高效代码至关重要。

定义常量

const用于定义常量,它可以应用在数据成员、指针以及引用上。例如:

  • const char * a:指向的变量不可修改值,但指针值可以改变。
  • char * const a:指针不可改变值(常指针),但指向的变量值可以变。
  • const char * const a:常指针和常变量。

需要注意的是,常指针必须进行初始化,否则会导致指针常出错。

引用与效率

const T & a:引用可以提高函数调用效率,因为它避免了对象复制操作。引用不仅仅是变量的地址,它还可以用于函数参数传递。

类中的const规则

在类中使用const需要遵守以下几点:

  • 数据成员

    • 初始化方式有多种:
      • 定义时直接初始化:const int dataMember = 1;
      • 在构造函数中使用初始化列表:Test::Test(i): dataMember(i) {}
      • 在实现文件中初始化:const int Test::dataMember = 1;
    • 如果成员是静态的,可以直接在定义时初始化:static const int dataMember = 10;
  • 成员函数

    • const成员函数是指在函数参数列表后面,大括号前加上const关键字的函数。
    • 何时使用const成员函数:只有不会修改数据成员的函数才能声明为const类型。
    • const对象的行为:const对象只能访问const成员函数,默认调用const成员函数。
    • const成员函数的限制:不能调用非const成员函数。

  • 顺序容器之关系操作符

    在C++中,顺序容器(如vectorlist)都支持使用关系操作符进行比较。关系操作符的结果取决于元素类型定义的关系操作符。如果元素类型没有定义对应的关系操作符,则容器不能进行该类型的比较。

    例如:

    • a == b:如果ab是两个顺序容器,比较它们的元素,直到找出第一个不相等的元素。
    • 如果某个元素类型没有定义==操作符,那么两个这样的容器无法进行比较。

    容器大小操作

    了解容器的大小操作对于管理容器内元素非常重要。C++提供了以下几个函数来操作容器的大小:

  • size():返回容器中元素的数量。
  • max_size():返回容器最多可以容纳的元素数量。
  • empty():判断容器是否为空。
  • resize(n):调整容器大小,使其能容纳n个元素。若n大于当前大小,会添加新元素;若小于,会删除多余元素。
  • resize(n, t):类似resize(n),但新元素初始化为t
  • 需要注意的是,resize操作可能会使得迭代器失效,因此在迭代时需要谨慎处理。


    通过学习这些概念,我对C++的理解有了进一步的加深。虽然const和容器操作看似简单,但它们在实际开发中起到至关重要的作用。希望这些笔记能帮助我更好地掌握C++编程!

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

    你可能感兴趣的文章
    PowerShell攻击工具Nishang实战
    查看>>
    PowerShell攻击工具PowerSploit实战
    查看>>
    Powershell管理系列(四)Lync server 2013 批量启用语音及分配分机号
    查看>>
    PowerShell脚本运行完 不要马上关闭用什么命令可以停留窗口窗口
    查看>>
    PowerShell远程连接到Windows
    查看>>
    power(8) identity
    查看>>
    POW的重力之美
    查看>>
    PO、VO、DAO、BO、DTO、POJO能分清吗?
    查看>>
    pytorch介绍-ChatGPT4o作答
    查看>>
    PP-PLL:基于概率传播的部分标签学习
    查看>>
    pytorch介绍
    查看>>
    pprint 排序字典但不是集合?
    查看>>
    pptp拨号上网
    查看>>
    ppt上的倒计时小工具_PPT中有哪些「看似很 LOW,实则惊艳」的小工具
    查看>>
    PPT添加视频的路径问题
    查看>>
    PPT美化插件 islide 安装过程问题“加载com加载项时运行出现错误”
    查看>>
    Prefix Tuning:详细解读Optimizing Continuous Prompts for Generation
    查看>>
    PreparedStatement 与Statement 的区别,以及为什么推荐使用 PreparedStatement ?
    查看>>
    PreparedStatement 查询 In 语句 setArray 等介绍。
    查看>>
    presentModalViewController显示半透明的一个view
    查看>>