C++ Primer 第(4-5)章一句话知识点总结

C++primer plus和C++ primer的读书心得 C++两本巨著primer plus和primer太过于经典,以至于读过多次,每次阅读仍然有新的收获,所以将一些零碎的知识点整理在这里,与大家共同进步。 1.i++与++i的效率比较: 前缀效率高,后缀在递增前需要一个副本。 ... 阅读详情

注意制定每个规则背后的原因。

(1)没有所有的元素都是引用的数组。

(2)数组的维数必须是大于等于1的常量表达式定义。非const变量以及要到运行时才知道其值的const变量都不能用于定义数组的维数。

(3)数组不允许直接赋值。char a[] = {'a'}; 一个字节 ;char a = "a";两个字节

(4)指针用于指向单个对象,而迭代器只能用于指向容器内的元素。

(5)string* s, p;一个指针,一个string对象。

(6)把int型变量赋给指针是非法的,尽管此int型变量的值为0。但允许把数值0或在编译时可获得0值的const量赋给指针。

(7)指针的类型用于确认指针所指对象的类型,因此初始化或者赋值时必须保证类型匹配。void类型指针可以保存任何对象的地址,但不允许使用它操作它所指向的对象。

(8)在表达式中使用数组名时,该名字会自动转换为指向该数组的第一个元素的指针。

(9)在使用下标访问数组时,实际上是对数组元素的指针做下标操作。只要指针指向数组元素,就可以对它进行下标操作。 int k = p[-2];

(10)把一个const对象的地址赋给一个普通的,非const对象的指针会导致编译错误。

(11)不能用void型指针保存const对象的地址。

(12)允许把非const对象的地址赋给指向const对象的指针。

(13)不能保证指向const的指针所指对象的值一定不可修改。

(14)与任何const量一样,const指针也必须在定义时初始化。

(15)指针所指对象的值能够修改完全取决于该对象的类型。

(16)typedef string *p; const p str;        ----------------string *const str;

(17)C++语言通过 const char* 类型的指针来操作C风格字符串。

(18)string *p = new string[10];int *p = new int[10]; int *p = new[10]();区别:动态分配数组的类类型必须有默认构造函数

(19)const int *p = new int[10]; 错误  const int *p = new int[10]();

(20)char s[0];不行啊  char *p = new char[0];可以

(21)delete []a;漏掉方括号,会导致内存泄露,编译不出错,运行才出错(why)

(22)int ia[3][3]; int (*p)[3] = ia; int *p = &ia[0]; 不行  int (*p)[3] = &ia[0]; int *p = ia[0]; int *p = ia;不行(思考原因)

(23)表达式的结果是右值,可以读取该结果值,但不能对其赋值。

(24)每个操作符都控制了其假定的求值次序,即我们是否可以假定左操作数总是先于右操作数求值。大部分的操作符无法保证某种特定的求值次序。

(25)%操作数只能为整型。

(26)/和%:如果两个操作符的两个操作数都是正数,则结果也都为正数,若都为负数,除法操作结果为正,求余操作结果为负。

(27)逻辑与和逻辑或的短路求值特性。

(28)关系操作符的左结合特性。if (x < y < z),若z大于1,永远为真。

(29)位操作符使用整型操作数,左操作数可为正数可为负数,最好为正数,因为如何处理符号位依赖于机器。右操作数必须为正数,且严格小于左操作数位数的值。

(30)cout << 10 < 42;  1024 = ival; i + j = ival;有错

(31)数组名是不可修改的左值,因此数组不可用做赋值操作的目标。

(31)赋值操作符的值是其左操作数的值,其结果的类型是左操作数的类型。int i; int *j; i = j = 0;有错

(32)使用符合赋值操作符时,其左操作数只计算一次,相似的表达式则计算两次。

(33)++i; i++; *iter++;区别

(34)cout << (i < j ? i : j);    cout << (i < j) ?i : j;  cout << i < j ? i : j;   输入输出操作符的优先级????

(35)逗号表达式的结果是其最后边表达式的值。

(36)优先级口诀:去掉一个最高的,去掉一个最低的,一,二,三 ,赋值。二元操作的顺序为  算术,关系,逻辑。中间插入移位和逻辑位。

(37)int *p = new int; int *p = new int(); int x(); const int *p = new const int(1024); delete p;     记得删除后置0.

(38)显示转换

           dynamic_cast:将基类类型的引用或指针安全的转换为派生类型的引用或指针。(typeid操作符)

           const_cast:去除掉const属性。

           static_cast:强制转换,告诉编译器,我们知道并不关系潜在的精度损失。

           reinterpret_cast:为操作数的位模式提供较低层次的重新解释。int *i; char *c = reinterpret_cast<char*>(p)。

基于python的奥运会历史数据分析【120年】 数据分析实战案例 阅读详情

相关推荐

Cursor+Playwright MCP实现UI全自动化,告别繁琐元素定位!

摘要:本文探讨了利用Cursor和PlaywrightMCP实现UI自动化测试的创新方法。通过将AI编程助手与浏览器自动化技术结合,解决了传统UI自动化测试中元素定位繁琐、维护成本高等痛点。文章详细介绍了项目架构设计、AI使用技巧(包括精准提问和编写.mdc规则文档),以及如何实现自然语言测试用例到自动化脚本的转换。最终实现了测试人员只需输入手工测试步骤,AI即可自动生成完整测试代码的智能化流程,并展望了通过Excel表格一键生成测试用例的未来发展方向,为UI自动化测试提供了高效解决方案。

baidu_29774881的博客 2795

字符串及字符操作总结:strcpy;strcat;strstr;strchr;strcmp;memcpy;memmove。

字符串及字符操作总结: 一、strcpy #include <stdio.h> #include<Windows.h> #include<assert.h> char* My_strcpy(char* str1, char* str2) { char* ret = str1; assert(str1 != NULL && str2 !=...

lexiaoyao_0000的博客 249

避坑指南:用逐飞开源库驱动MT9V03X摄像头时容易忽略的3个细节(附TFT显示优化技巧)

本文详细解析了在智能汽车竞赛中使用MT9V03X摄像头(总钻风)时常见的硬件连接、图像采集和TFT显示优化问题。重点介绍了逐飞开源库中容易被忽略的三个关键细节,包括电源管理、看门狗设置和中断优先级配置,并提供了针对IPS200和TFT180显示屏的优化技巧,帮助参赛队伍提升图像处理效率和显示质量。

study的专栏 744

C++常见字符串操作函数的实现(strcpy/strcat/strcmp/strlen/strchr/strstr/strpbrk/strrev等)

先看一下字符串操作函数,点这里C语言字符串操作总结大全(超详细) 1、strcpy 函数原型:char *strcpy(char *dest, const char *src)  函数功能:将源字符串src的内容复制到目的字符串dest中,并返回指向目的字符串dest的指针。 注意:要求dest字符串长度要大于或等于src长度,否则会越界。复制时会将src的结束符'\0'也复制到d

话歪之地的博客 1634

基于STM32的超声波流量计设计

本项目基于STM32微控制器设计了一种超声波流量计,采用时间差法测量液体或气体的流速,计算流量并通过显示屏实时显示,同时支持远程数据传输。本设计通过STM32微控制器实现了基于时间差法的超声波流量计,集成了超声波信号采集、流量计算、状态显示和远程通信功能。本系统需要实现超声波信号的实时采集与处理,计算流速和流量,并将数据通过OLED显示和无线模块上传。系统需具备高精度的时间测量能力和良好的抗干扰能力。通过计算超声波在顺流和逆流方向上的传播时间差,结合管道直径与流体特性,计算流速并进一步计算流量。

stm32d1219的博客 2349

69、SAP数据库归档重做日志备份策略与工具详解

本文详细解析了SAP数据库归档重做日志备份的重要性及策略,介绍了SAP提供的备份工具brarchive及其配置和使用方法,探讨了BRBACKUP与BRARCHIVE的联合运行、一致在线备份、备用数据库备份场景以及备份策略的综合应用与优化。此外,还分析了备份过程中常见问题的解决方法、备份监控与评估流程、与第三方备份解决方案的集成方式,以及未来备份技术的发展趋势和应对策略。通过合理运用这些策略和工具,可以有效保障SAP数据库的安全性和可恢复性。

peace的博客 135

掌握C++模板编程:Cpp-Primer-5th-Exercises第16章实战指南

C++模板编程是C++ Primer第5版第16章的核心内容,也是提升C++编程能力的关键技能。通过Cpp-Primer-5th-Exercises项目中的实战练习,你将系统掌握模板类、函数模板、模板特化等核心概念,轻松应对复杂的泛型编程挑战。 ## 为什么模板编程是C++开发者的必备技能 🚀 模板是C++实现泛型编程的基础,它允许你编写与类型无关的代码,大幅提高代码复用性和灵活性。在标准库

gitblog_00320的博客 936

【机器学习-09】特征工程

特征工程是机器学习模型构建的初步工作,但它的重要性却贯穿整个模型生命周期。在进行特征工程时,我们需要充分利用数据科学的知识和技巧,结合具体的应用场景和业务需求,来制定出最合适的特征提取和转换策略。只有这样,我们才能为机器学习模型提供最有价值的输入,从而使其发挥出最大的潜力。总之,特征工程是机器学习中的一项关键任务,它需要我们用心去探索、去实践、去创新。只有不断地优化和完善特征工程的过程,我们才能构建出更加准确、更加可靠的机器学习模型,为实际应用带来更大的价值。

qq_38614074的博客 2万+

快速上手Cpp-Primer-5th-Exercises:新手必备的C++练习指南 [特殊字符]

想要系统学习C++编程语言,但面对《C++ Primer》这本经典教材的练习题感到无从下手?别担心!Cpp-Primer-5th-Exercises项目为你提供了完整的练习解答,帮助你快速掌握C++编程的核心概念和技巧。这份终极指南将带你深入了解这个宝贵的C++学习资源,让你在编程学习道路上事半功倍! ## 📚 项目简介:你的C++学习好帮手 Cpp-Primer-5th-Exercises

gitblog_01075的博客 1074

YOLOv11改进 | 主干/Backbone篇 | 轻量级移动端网络ShuffleNetV2(附代码+修改教程)

本文给大家带来的改进内容是ShuffleNetV2,这是一种为移动设备设计的高效CNN架构。其在ShuffleNetV1的基础上强调除了FLOPs之外,还应考虑速度、内存访问成本和平台特性。(我在YOLOv11n上修改该主干降低了GFLOPs,但是参数量还是有一定上涨,其非常适合轻量化的读者来使用,同时精度也有一定程度的上涨)。本文通过介绍其主要框架原理,然后教你如何添加该网络结构到网络模型中。

Snu77的博客 3387

2026华为OD面试题029:勇攀数字高峰

在给定的数字地形图里寻找登山路径,数字代表当前位置的海拔高度。要求从最低海拔出发,不断攀登,最终到达最高山峰。地图保证最低海拔和最高山峰都只有一个。 登山规则: - 路径上的海拔必须严格递增 - 只能向上下左右 4 个方向移动 - 路径必须从最低海拔开始,到最高海拔结束 - 每个地点只能走一次 - 每一步的攀登高度差必须大于 0,且不超过指定值 `K` 输出满足条件的登山路径的数量。

琅嬛福地 120

Node-RED 数据处理实战手册:JSON、XML、CSV 的互转与排错

Node-RED 的数据处理,主要靠核心解析器里的一组节点完成:JSON、XML、CSV(还有 HTML、YAML),它们能把 msg 里的字符串、对象和表格数据互相转换。这篇文章不按"技巧清单"罗列,而是跟着一条数据在流程里走完全程:怎么从字符串变成对象,怎么在 XML 和 CSV 之间互转,字段对不上或坏消息出现时怎么办,最后再看怎么提速。 ## 数据入口:三步把 JSON 字符串解析成对象

gitblog_00964的博客 1058

基于YOLOv10的微小目标检测,多头检测器提升小目标检测精度

引入多头检测器助力YOLOv10,暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2569

GetQzonehistory:把十年QQ空间历史说说完整导出,Excel和网页一次拿全

GetQzonehistory 是一个本地运行的 Python 小工具,用来把你 QQ 空间发过的历史说说完整抓取下来,导出成 Excel 表格和一个还原空间样式的网页文件,长期存在自己的硬盘里。适合说说发得多、想把这些旧记录完整存档的人。 ## 先说结果:跑完之后你会得到什么 程序跑完后会自动打开 `resource/result/你的QQ号/` 这个文件夹,里面是一套完整的东西: | 产

gitblog_00301的博客 631

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

青龙面板 + QLScriptPublic 指南:如何 5 分钟部署一套 100+ 的自动化签到脚本

早上九点的电梯里、通勤地铁上、午休的工位前——你大概也有过这样的时刻:手机里躺着一二十个 App 和小程序,每个都藏着"每日签到""积分任务""浏览赚金币",手动点一遍少说十几分钟,隔天再点又是一遍,漏一天还断了连续签到。QLScriptPublic 配合青龙面板做的,就是把这类重复劳动交给脚本定时执行:你只负责把账号信息填一次,剩下的交给 cron。这个仓库目前收拢了 100 多个可用脚本,覆盖

gitblog_00937的博客 915

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Cpp-Primer-5th-Exercises项目揭秘:从基础语法到高级特性的完整路径

你是否正在学习C++编程语言,却被《C++ Primer》第五版中的复杂习题困扰?😅 别担心,Cpp-Primer-5th-Exercises项目为你提供了完整的习题解答指南!这个开源项目包含了《C++ Primer》第五版所有章节的习题解答,从基础语法到高级特性,为你搭建了一条清晰的学习路径。无论你是C++初学者还是希望巩固知识的开发者,这个项目都是你学习路上的得力助手。 ## 📚 项目概

gitblog_00578的博客 846

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

TeamAI 自动同步揭秘:AI 会话如何静默获取团队最新资源的完整指南

TeamAI 是一款开源的 AI 团队资源管理 CLI 工具(teamai-cli),它的自动同步机制可以让 Claude Code、Codex、Cursor 等 AI 助手在**每次会话启动时静默拉取团队最新的技能、规则与知识**,全程无需人工干预。本文带你彻底搞懂这套机制背后的原理。✨ ## 什么是 TeamAI 自动同步? 想象这样一个场景:管理员更新了团队的编码规则,昨天还有效的技能今

gitblog_01132的博客 993

【c++ primer 笔记】第11章 关联容器

关联容器中的元素按关键字来保存和访问顺序容器中的元素按他们在容器中的位置来保存和访问关联容器与顺序容器许多行为相同,但是有着根本不同,不同之处反应关键字作用关联容器支持高效的关键字查找和访问关联容器包括map和set。头文件定义map和multimap在头文件 map 中,set和multiset在头文件 set 中,无序 map 和无序 set 分别在头文件 unordered_map 和 unordered_set 中。容器类型解释按关键字有序保存元素map关键数组:保存。......

小呆鸟blog 1596

如何快速预览 3D 模型:轻量级 3D 工具 F3D 三维查看器完整指南

F3D三维查看器是一款免费、开源的轻量级 3D 工具,支持 Windows、macOS 和 Linux 三个平台,只做一件事:把 3D 模型文件快速打开并实时预览。如果你经常需要查看 GLTF、STL 等模型文件,或者想在一分钟内确认模型的形状、材质和动画状态,它就是适合做 3D 模型预览的工具。设计师、开发者和内容创作者都适用,安装即用,不需要复杂配置。 ## 三步打开你的第一个 3D 模型

gitblog_00927的博客 1026

【c ++ primer 笔记】第5章 语句

表达式语句 空语句: 复合语句(块) 🌗5.2 语句作用域 可以在 if、switch、while、for 语句的控制结构内定义变量。。但是定义在控制结构当中的变量 如果其他代码也需要访问控制变量,则变量必须定义在语句的外部。 🌗5.3 条件语句 条件语句分为俩种语句和 语句。 : :迭代语句有三种:while语句、for语句(范围for语句)、do while语句 🌕5.4.2 传统的for语句 init-statement 可以是、或。 init-statement 可以定义多个对象,但...

小呆鸟blog 1402

C++ Primer 第 5 版 第 5 章习题答案

块不需要以分号结束。(b)if 语句的循环体只能是一条语句,本题从代码的缩进格式上来说需要做两件事,一是修改 minval 的值,二是重置 occurs 的值,所以必须把这两条语句放在一个块里。(c)ival 是定义在 if 语句中的变量,其作用域仅限于第一个 if 语句,要想在第二个 if 语句中也使用它,就必须把它定义在两个 if 语句的外部。(d)程序的原意是判断 ival 的值是否是 0,原题使用赋值运算符的结果是把 0 赋给了 ival,然后检验 ival 的值,这样使得条件永远不会满足。

bossDDYY的博客 1350

《C++ Primer 5th》知识点总结&练习题解

《C++ Primer 5th》知识点总结&练习题解 点击获取更好的阅读体验 ohmyfish会实时更新和修正,优快云上为囤货文章发布有延迟 内容概括 基础不牢,地动山摇 个人认为,与其零零散散地学一遍,不如系统地浏览一遍,有个全局观 以后就当字典了 目录 章节 笔记 练习题解 第1章:开始 C++ Primer 0x01 练习题解 第2章:变量和基本类型 C++ Primer 0x02 学习笔记 C++ Primer 0x02 练习题解 第3章:字符串、向量和数组 C+

鱼竿钓鱼干 3030

Cpp-Primer-5th-Exercises项目贡献指南:如何参与开源C++学习资源建设

Cpp-Primer-5th-Exercises是一个专注于《C++ Primer》第五版习题解答的开源项目,旨在为C++学习者提供高质量的学习资源。通过贡献代码、完善解答或改进文档,你可以帮助全球的C++学习者更好地掌握这门编程语言。本文将详细介绍参与该项目的完整流程,让你轻松成为开源贡献者。 ## 为什么选择贡献C++学习资源? 参与Cpp-Primer-5th-Exercises项目贡献

gitblog_00934的博客 400

Helm Charts 模板指南:内置对象、lookup/quote 函数与流程控制实战解析(DevOps-Guide)

> 本指南以仓库 [package-managers/helm/helm-charts-template-guide.md](https://link.gitcode.com/i/54b31b795d5a7647983c482f6042a49d) 为主体,系统梳理 Helm Chart 模板引擎的六大内置对象(Release、Values、Chart、Files、Capabilities、Temp

gitblog_00329的博客 371

C++ Primer第5版习题解答完全指南:如何高效掌握C++编程基础 [特殊字符]

欢迎来到C++ Primer第5版习题解答的终极指南!如果你正在学习C++编程,这本经典教材的习题解答资源将成为你编程之旅的最佳伙伴。C++ Primer第5版习题解答项目提供了完整的C++ Primer第5版所有章节习题的详细解答,帮助学习者快速掌握C++编程基础知识。 ## 项目概述与核心价值 C++ Primer第5版习题解答是一个完整的开源解决方案集合,涵盖了从入门到高级的所有C++编

gitblog_00226的博客 273
上一篇: C++ Primer 第(1-3)章一句话知识点总结
下一篇: 九度 1366 栈的压入弹出序列
linuxcprimerapue
博客等级 码龄11年 0粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值