<c++ primer>--第五部分 高级主题

<C++Primer>第四版 阅读笔记 第一部分 “基本语言” 之前阅读时没有及时总结,现在慢慢补上。 第1章 快速入门 main 函数在很多方面都比较特别,其中最重要的是每个C++程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显示调用的函数。 main 函数的返回值必须是 int 型。 endl 是一个特殊值,称为操纵符(manipulator),将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区(... 阅读详情

一  多重继承与虚继承

1多重继承

派生类的对象包含每个基类的基类子对象。

派生类构造函数的次序按照基类构造函数在派生类类表中的出现顺序。

析构函数的次序是构造函数的逆序。

多个基类可能导致二义性。(含有相同的成员)

解决方法:1指定某个基类。2在派生类中定义这样一个成员。

2虚继承(virtual)

为了避免多次包含同一基类,定义虚继承。

类通过虚继承之处它希望共享其虚基类的状态。

共享的基类子对象称为虚基类。

无论虚基类出现在继承层次的任何地方,总是在构造非虚基类之前构造虚基类。

二优化内存分配

c++中,内存分配和对象构造紧密连接。new表达式分配内存,使用构造函数构造对象;调用析构函数撤销对象,释放内存。

c++中除了new和delete之外,定义的内存分配方式有:

分配和释放内存:

(1) allocator类的allocate和deallocate成员。

(2)operator new 和operator delete(这两个被new和delete表达式调用)

构造和撤销对象:

(1)allocator类的construct和destroy成员

(2)定位new表达式 new(address) type(initializer-list)

(3)直接调用对象的析构函数。析构函数并不释放对象所在的内存。

(4)unitialized_fill和unitialized_copy

三 固有的不可移植的特征

1位域

一种特殊的类数据成员。

例如,class file{Bit mode:2;Bit pp:3;}

补充:按位与& 按位或| 按位异或^ 按位求反~ 左移<<  右移>>

2 volatile

关键字volatile告诉编译器,对这样的对象不执行优化。

一般用在多线程程序中,以防止出错。

3extern "C"---链接指示

说明是c语言写的函数





腾讯Octop:Windows本地AI助手一键安装实战指南 本地AI助手是面向普通用户在个人设备上运行大语言模型的轻量级解决方案,其核心原理在于封装模型加载、推理调度与Web交互等底层复杂性,通过预编译运行时、自适应硬件加速和图形化配置降低使用门槛。技术价值体现在免环境依赖、离线可用、开箱即用,显著提升非开发者在专利撰写、文案生成、技术文档处理等办公场景中的生产力。本文聚焦Windows平台下的腾讯Octop工具,结合qwen2-7b-instruct、phi-3-mini等主流GGUF量化模型,详解安装适配、API集成与专利辅助工作流,覆盖从零部署到工程落地的完整 阅读详情

相关推荐

解密Android相机框架:从HAL到应用层的全链路解析

本文深入解析Android相机框架的全链路架构,从应用层到硬件抽象层(HAL)再到驱动层,详细介绍了CamX-CHI架构的设计哲学与实战应用。通过HAL3接口、V4L2交互机制及Camera2 API的最佳实践,帮助开发者优化相机性能,解决多摄切换、预览卡顿等常见问题,提升成像效率与稳定性。

weixin_29238147的博客 407

C++:重载全局new/delete实现跨平台多线程内存检测

实现类: DumpMemoryLeaks.h

u014023615的专栏 1546

Rocky Linux 9.2:利用LVM动态调整/home与/根分区空间分配

本文详细介绍了在Rocky Linux 9.2系统中,如何利用LVM(逻辑卷管理器)动态调整/home与根分区(/)的空间分配。针对根分区空间不足而/home分区闲置的常见问题,文章提供了从检查磁盘布局、备份数据、卸载分区、调整逻辑卷大小到重建文件系统的完整操作步骤,并重点说明了XFS与EXT4文件系统在缩容时的不同处理方法,帮助系统管理员安全、在线地实现存储空间的灵活调配。

weixin_29271263的博客 176

C++Primer 第五版 4.高级主题

~

小撸点的专栏 714

【网络】Ikuai中如何添加/更换虚拟机(图文)

Ikuai 添加虚拟机教程

qq_20623849的博客 6533

ESP-IDF下载配合MQTT协议接入云平台实例

通过ESP-IDF下载环境搭建,结合MQTT协议实现设备与云平台通信,详解从配置到连接的完整流程,助力物联网应用开发。重点涵盖espidf下载和MQTT集成关键步骤。

weixin_28913879的博客 454

c++Primer5,高级主题

很快的过了前面的,这里也很快的过。 标准库特殊设施: tuple类型 类似pair的模板,每个pair都有且有2个成员,而每个确定类型的tuple类型的成员数目是固定但数目可以任意个。 tuple> parr = {18, "hi", {2.0f, 3.0f}}; tuple> parr(18, "hi", {2.0f, 3.0f}); tuple > parr(18, "hi", v

r784709355的专栏 411

Proteus实现电子秤仿真与称重检测显示

Proteus实现电子秤仿真与称重检测显示测量原理(或设计方案)原理图代码 测量原理(或设计方案) 数字电子秤总体框图如图所示: 金属箔式应变片工作原理 电阻丝在外力作用下发生机械变形时,其电阻值发生变化,这就是电阻应变效应,描述 电阻应变效应的关系式 金属箔式应变片就是通过光刻、腐蚀等工艺制成的应变敏感元件。如图所示,将四个金属箔应变片(R1、R2、R3、R4)分别贴在双杆式悬臂梁弹性体的上下两侧,弹性体受到压力发生形变,应变片随悬臂梁形变被拉伸或被压缩 测量电路 通过应变片转换悬臂梁被测部位受力

Matataya的博客 1万+

庖丁解牛<C++primer>系列一:引用和指针

还是开始吧,虽然犹豫了那么久。最近经常有工作之后或者大四快毕业的童鞋询问我如何学习编程。本人水平不高,又唯恐误人子弟,所以准备重新对编程的一些经典教材进行解读,这次首先看的是《C++primer》,争取做到浅显易懂。如有遗漏之处,请各位客官多多指正。        1.引用         先说引用(reference)。引用的定义:为对象起的另外一个名字。这里对象(object)可不是指

sanjing_shou的博客 486

AD快速上手笔记

本文详细介绍了使用Altium Designer从零创建PCB项目全流程:新建工程、绘制原理图(元件放置、连线、电源端口)、编译检查、生成PCB、布局布线(含铺铜)、DRC检查及输出Gerber与钻孔文件。重点强调了库选择、参数修改、层切换、铺铜设置和生产文件导出规范,确保设计无误,便于顺利下单生产。

qq_53529450的博客 41

最新Python爬虫实战(入门爬虫篇)——案例3:爬取二次元cos图片批量下载到本地(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了二次元图片的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖“请求列表页→提取详情页URL→请求详情页→提取图片链接→保存图片”的完整流程,与豆瓣案例的核心逻辑和格式完全对齐。学习重点包括:抓包工具定位多层级数据源、正则表达式匹配复杂链接、模拟请求头绕过反爬机制、文件名安全处理及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践,帮助学习者掌握多层级页面爬取的核心逻辑。

努力让自己发光,对的人才能迎着光而来 14万+

<C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”

类定义了数据成员和函数成员:数据成员用于存储与该类类型的对象相关联的状态;而函数成员则负责执行赋予数据意义的操作。 第12章 类 一个类可以包含若干公有的、私有的和受保护的部分:在public部分定义的成员可被使用该类型的所有代码访问;在private部分定义的成员可被其他类成员访问。 所有成员必须在类的内部声明。 const成员函数不能改变其所操作的对象的数据成员

oohaha_123的专栏 829

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

<C++Primer>第四版 阅读笔记 第二部分 “容器和算法”

泛型算法中,所谓“泛型(generic)”指的是两个方面:这些算法可作用于各种不同的容器类型,而这些容器又可以容纳多种不同类型的元素。 第九章 顺序容器 顺序容器的元素排列次序与元素值无关,而是由元素添加到容器里的次序决定。 IO库类型不支持复制或赋值。因此,不能创建存放IO类型对象的容器。 定义容器的容器时,注意使用空格: vector< vect...

weixin_30832983的博客 128

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

庖丁解牛<c++primer>系列二:const关键字

转载请注明出处 -const关键字的定义: 如果我们定义一个变量,但是在以后的维护中不想改变里面的值,就可以用const关键字对变量的类型进行锁定。正由于一旦赋值后就不能对其进行改变,所以const必须初始化。 -初始化时候注意事项: 由于const必须定义的时候必须初始化,而且const关键字仅在文件内有效。因为担心重复定义问题,所以仅在文件内有效,而在其它文件中通过声明来使用它。

sanjing_shou的博客 419

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

模版与泛型编程--<c++ primer>16章

一 基本定义  模版包括模版类和模版函数。 定义格式为;template class和template没有区别。 inline模版函数:template inline T min(const T&,const T&); 模版形参包括类型模版形参和非类型模版形参。 例如,类型模版形参T,非类型模版形参N template void arrayinit(T (&sparm)[N])

crazyhacking的专栏 711

庖丁解牛<c++primer>系列三:类型别名和自定义数据结构

随着程序越来越复杂,程序中用到的类型也越来越复杂,这种复杂性体现在两个方面。一是一些类型难于“拼写”,它们的名字既难记又容易写错,还无法明确体现其真实目的和含义。二是有时候根本搞不清到底需要什么类型,不得不回过头从程序的上下文中寻求帮助**类型别名(type alias)是一个名字,它是某种类型的同义词。 主要分为typedef关键字和别名声明两部分。 typedef关键字 typedef dou

sanjing_shou的博客 670

<C++Primer>第四版 阅读笔记 第四部分 “面向对象编程与泛型编程”

继承和动态绑定与数据抽象一起成为面向对象编程的基础。 模板使我们能够编写独立于具体类型的泛型类和泛型函数。 第15章 面向对象编程 面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。在C++中,用类进行数据抽象,用派生类从一个类继承另一个类:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。 继承和动态绑定在两个方...

weixin_30951231的博客 135

研发工程师必会的技能--我的学习计划

做为一名研发工程师,我以为得必会以下技能,方能从容立足于社会,从而立于不败之地,我称之为“七个一”工程: 会一种单片机,建议学习C8051F。 会一种Cortex-M型ARM处理器,建议学习STM32. 会一种能跑系统的ARM处理器,如三星的ARM11处理器。 会一种结构化语言,建议C语言,正统易学,嵌入式开发的最...

weixin_34362875的博客 386
上一篇: 数据结构的选择-“数组、链表、树、哈希表”选哪个(性能比较)?
下一篇: 用GNU profiler提高代码运行速度
crazyhacking
博客等级 码龄15年 299粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值