news 2026/9/3 1:04:26

C++小知识点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++小知识点

一、const

1、放在成员函数列表的后面

2、const实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修饰

Date* const this---->const Date* const this

3、所有不修改的成员函数都需要加,可以检查出将‘==’写成‘=’导致的错误

二、取地址运算符重载

取地址运算符重载分为普通取地址重载和const取地址重载,一般这两个编译器自动生成的就够我们使用了,不需要显示实现。除非有坏心思,不想让别人取到当前类的地址,就可以自己实现并胡乱返回一个地址

下面是这两个函数(一般不用写)

那么就来说说怎么使坏吧,下面呢是正常地址

如果我们这样做

那么

就会返回一个错误的地址了,就可以整蛊同学/事了。

三、类型转换

2构造一个A的临时对象,再用这个临时对象拷贝构造aa2,编译器遇到连续构造+拷贝构造————>优化为直接拷贝

四、再探构造函数

1、初始化列表以一个冒号开始,接着是以一个逗号分隔的数据成员列表,每个成员变量后面跟着一个放在括号中的初始值或表达式

下面这两个必须在初始化列表中,还有一个是没有合适默认构造函数可用。其他的可以函数体也可以初始化列表,两者也可以同时出现

2、

每个成员变量在初始化列表中只能出现一次

3、有的的变量也可以不初始化

结果就是

4、再看下面这个图

这依然是声明,不是定义,后面的1是缺省值 ,给初始化列表使用

5、尽可能使用初始化列表

每个成员都要走初始化列表

1>在初始化列表初始化的成员

2>没有在初始化列表的成员

a.声明的地方有缺省值用缺省值

b.没有缺省值

x.内置类型:不确定,看编译器,大概率随机值

y.自定义类型:调用默认构造,没有默认构造就编译报错

3>引用const没有默认构造自定义 必须在初始化列表初始化

6、初始化列表中按照成员变量在类中声明顺序进行初始化,跟成员在初始化列表出现的先后顺序无关。建议声明顺序和在初始化列表的顺序保持一致 。看下面这个题

这段代码先声明了_a2,先走,_a2(_a1),而此时_a1还未初始化,所以是随机值,再走,_a1(a),a是1则_a1的值为1

trying to do better!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 22:20:22

28、认证配置、管理与故障排除全解析

认证配置、管理与故障排除全解析 1. 证书映射拓展网络 通过证书映射,能够拓展网络,加强与客户、供应商及其他商业伙伴的关系。借助外联网技术,不仅可以实现网络拓展,还能确保安全性。与商业伙伴建立更紧密的联系,有助于为客户提供更好的服务,提升业务效率。不过,在部署…

作者头像 李华
网站建设 2026/9/2 4:35:39

构建高效测试绩效模型:数据驱动下的质量保障优化之路

测试绩效的时代意义 随着软件开发周期的缩短和DevOps文化的普及,测试绩效管理已从传统的“找缺陷”转向更全面的价值评估。截至2025年,全球超过70%的软件团队面临测试效率瓶颈,这突显了绩效管理的紧迫性。对于软件测试从业者而言&#xff0c…

作者头像 李华
网站建设 2026/9/2 13:44:43

跨越时区的软件测试:挑战、策略与未来

全球化测试时代的来临 随着远程办公模式的普及,软件测试团队日益呈现分布式特性。据2025年《全球软件开发趋势报告》,超过67%的测试团队需要跨时区协作。时区差异虽扩展了人才池,却也带来了测试环境管理、沟通效率与质量控制的新挑战。本文旨…

作者头像 李华
网站建设 2026/9/2 22:12:50

全球化测试案例:软件测试从业者的实践指南

随着全球化的加速推进,软件产品不再局限于单一市场,而是面向世界各地的用户。全球化测试作为软件测试领域的关键环节,旨在确保产品在不同语言、文化和区域设置下的兼容性、功能性和用户体验。对于软件测试从业者而言,掌握全球化测…

作者头像 李华
网站建设 2026/9/2 10:51:50

破界与融合:全球化测试趋势下的行业变革与应对策略

一、全球化测试的时代背景与内涵演变 随着数字经济的深度渗透与云原生技术的成熟,软件测试领域正经历从地域化到全球化的结构性转变。2025年的测试生态呈现出三个典型特征:测试资源的全球分布式协作(如跨境众测平台的兴起)、测试…

作者头像 李华
网站建设 2026/9/2 16:24:48

python mcp stdio模式

server:"""3.1 【stdio模式】mcp服务端开发""" #导入mcp依赖包 from mcp.server.fastmcp import FastMCP #创建mcp实例 mcp FastMCP("Tool MCP Server")mcp.tool() def add_tool(x:int,y:int):"""有两个数字相加的加法…

作者头像 李华