《C++ Primer》 第02章 [ 变量和基本类型 ]

本文深入探讨C++中的变量概念,包括变量作为左值的角色、初始化与赋值的区别、不同初始化方式的效率对比,以及未初始化变量的风险。此外,还介绍了引用的使用,特别是const引用的特点,并解释了类类型的定义及其成员。
第02章:变量和基本类型
第三节:变量
@ 学习摘录007:
——C++是一门静态类型语言,在编译的时候会作类型检查.

@ 学习摘录008:
——左值:lvalue,左值可以出现在赋值语句的左边或右边。
——右值:rvalue,右值只能出现在赋值的右边,不能出现在赋值语句的左边。
——变量是左值,因此可以出现在赋值语句的左边,数字字面是右值,因此不能被赋值。
摘录有想008:
——在我理解中,因为变量可在左也可在右,因此它为左值,而数字则只能出现在右边,因此它为右值。

@ 学习摘录009:
——变量提供了可以操作的有名字的存储区,对象就是内存中具有类型的区域。
摘录有想009:
——例如:int a; class b{}; b c; 这里,a 和c属于对象。

@ 学习摘录010:
——初始化变量不是赋值。
——初始化:指创建变量并给它赋初始值。
——赋值:是擦除对象的当前值并用新值代替。

@ 学习摘录011:
——初始化变量有两种形式。
——1. int ival(1024);  // direct-initialization  直接初始化
——2.int ival = 1024;  // copy-initialization  复制初始化

@ 学习摘录012:
——复制初始化和直接初始化之间的差别是很微妙的。
——现在我们只需知道,直接初始化的效率更高。

@ 学习摘录013:
——未初始化变量引起的错误难以发现,永远不要依赖未定义行为,使用未初始化的变量是常见的程序错误。虽然许多编译器都至少会提醒不要使用未初始化变量,但是编译器并未被要求去检测未初始化变量的使用。而且,没有一个编译器能检测出所有未初始化变量的使用。
收大收获014:
——extern声明不是定义,也不分配存储空间。
——事实上,它只是说明变量定义在程序的其他地方。
摘录有想014:
——extern的使用得注意,一个文件里面放定义,另外一个文件里面放声明才可以,上次同学就是犯了这样的错误,没有在另一个文件中声明就想用extern变量了。

@ 学习摘录015:
——只有当声明也是定义时,声明才可以有初始化式,因此只有定义才分配存储空间。

@ 学习摘录015:
——看来下次写程序时真的要直接在声明的时候就定义好,那样的话就安全多了。

@ 学习摘录016:
——作用域可以分为三种:
——1.全局作用域(global scope)
——2.局部作用域(local scope)
——3.语句作用域(statement scope)
摘录有想016:
——有语句 for(int val = 1; val <= 10; ++val) sum += val;
——此处,val 定义在for语句的作用域中,只能在for语句中使用,而不能在main 函数的其他地方。

第五节:引用

@ 学习摘录018:
——“const引用”的意思是“指向const 对象的引用”。

@ 学习摘录019:
——非const引用只能绑定到与该引用同类型的对象。
——const引用则可以绑定到不同但相关的类型对象或绑定到右值。

第八节:类类型
@ 学习摘录020:
——每类都定义了一个接口(interfer)和一个实现。
——接口由使用该类的代码需要执行的操作实组成。
——实现一般包括该类所需要的数据。
——类体定义了组成该类型的数据和操作。操作称为成员函数,数据则称为数据成员。

@ 学习摘录021:
——用class和sturct关键定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为pulbic,而class的成员为private.

@ 学习摘录022:
——当我们在头文件中定义了const变量后,每个包含该头文件的源文件都有了自己的const 变量,其名称和值一样。

@ 学习摘录023:
——避免多重包含,为了避免多重包含,避免名字冲突,预处理器变量经常用全大写字母表示。
#ifndef ABC_H
#define ABC_H // Definition of ABC class and related functions goes here
#endif
摘录有想023:
——看了这么多书,这么多个例子,终于知道为什么它总是用大写来表示了。
数据集介绍:垃圾分类检测数据集 一、基础信息 数据集名称:垃圾分类检测数据集 图片数量: 训练集:2,817张图片 验证集:621张图片 测试集:317张图片 总计:3,755张图片 分类类别: - 金属:常见的金属垃圾材料。 - 纸板:纸板类垃圾,如包装盒等。 - 塑料:塑料类垃圾,如瓶子、容器等。 标注格式: YOLO格式,包含边界框类别标签,适用于目标检测任务。 数据格式:图片来源于实际场景,格式为常见图像格式(如JPEG/PNG)。 二、适用场景 智能垃圾回收系统开发: 数据集支持目标检测任务,帮助构建能够自动识别分类垃圾材料的AI模型,用于自动化废物分类回收系统。 环境监测与废物管理: 集成至监控系统或机器人中,实时检测垃圾并分类,提升废物处理效率环保水平。 学术研究与教育: 支持计算机视觉与环保领域的交叉研究,用于教学、实验论文发表。 三、数据集优势 类别覆盖全面: 包含三种常见垃圾材料类别,覆盖日常生活中主要的可回收物类型,具有实际应用价值。 标注精准可靠: 采用YOLO标注格式,边界框定位精确,类别标签准确,便于模型直接训练使用。 数据量适中合理: 训练集、验证集测试集分布均衡,提供足够样本用于模型学习评估。 任务适配性强: 标注兼容主流深度学习框架(如YOLO等),可直接用于目标检测任务,支持垃圾检测相关应用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值