读书笔记:C++ primer 5th edition--chapter19.特殊工具与技术

MobaXterm终端工具个人学习版安装包及常用配置备份 资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。 立即下载

以下是c++未被广泛应用的特征。
part1.控制内存分配
1.可以重载new与delete。一共有八个版本,可以重载任意一个,但是要求自定义版本必须位于全局作用域或者类作用域。
2.demo
void *operator new(size_t size){
     if (void * mem = malloc(size)
          return mem;
     else
          throw bad_alloc();
}
void operator delete( void *mem) noexcept { free(mem); }

part2.运行时类型识别RTTI
1.适用于我们想让基础类对象的指针或引用执行某个派生类操作并且该操作不是虚函数。因为某些场景无法定义虚函数。
2.在条件部分执行动态转换可以确保类型转换和结果检查在同一条表达式完成。
if( Derived *dp = dynamic_cast < Derived* >(bp) ) {}//
3.typeid运算符
1)作用于对象,而不是指针
2)对象有虚函数,则typeid的结果知道运行才确定。
4.RTTI用途:为具有继承关系的类实现相等运算符时有用。

part3.枚举类型
1.分类:
1)限定作用域的枚举类型,enum class open_mode {input, output, append};
2)不限定作用域的枚举类型, enum color {} or enum {}  //未命名,不限定
2.如果不指定枚举值,默认为前者的值加1.成员是const,初始化枚举成员必须提供常量表达式。
3.指定enum大小
enum intValue : unsigned long long {}..

part4.类成员指针
1.类的成员指针是可以指向类的非静态成员的指针。
2.初始化的时候不指定对象,只指向成员。
const string Screen::*pdata;//声明pdata为一个指向Screen类的const string成员的指针。
可以读取任意对象,但是,无法写入。
auto pdata = &Screen::contents;//contents是Screen的私有成员,pdata必须位于类内部或者友元内。
3.成员函数指针
//为了选择重载的版本
char (Screen::*pmf2) (Screen::pos, Screen::pos ) const;
pmf2 = &Screen::get;//限定get的版本,通过限定可以接受的形参以及返回值
char c2 = (myScreen.*pmf2) (0, 0);//调用优先级高,因此要加括号

part5.剩余
1.嵌套类,union,局部类
2.volatile与const可以兼容
3.合成的拷贝对volatile对象无效
4.extern
void (*pf1) (int);      //指向c++函数
extern “C” void (*pf2) (int);     //指向c函数 
机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取 立即下载

相关推荐

科技中介服务机构如何借助平台提升技术撮合服务的专业性与响应速度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

读书笔记:C++ primer 5th edition--chapter17.标准库特殊设施

part1.tuple类型 1.一个tuple可以有任意数量的成员。每个确定tuple类型的成员数目是固定的。是一个快速而随意的数据结构。 2.构造函数是explicit,必须使用直接初始化: tuple threeD{1, 2, 3}; 3.make tuple使用初始值的类型来推断tuple类型。 auto item = make_tuple( “0-999-xxx”,3, 20.0

Joker's Time 429

产业园区如何利用AI技术提升科技成果转化服务的响应速度与转化成功率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

读书笔记:C++ primer 5th edition--chapter15.OOP

part1:概述 1.OOP核心思想: 数据抽象,可以将类的接口与实现分离 使用继承,可以定义相似的类型并对其相似关系建模 动态绑定,可以在一定程度上忽略相似类型的区别,以统一的方式管理他们的对象 2.使用基类的引用或指针调用一个虚函数将发生动态绑定 part2.定义基类和派生类 1.基础类需要定义一个虚析构函数,即使该函数不执行任何实际操作。 2.基础类需要把它的两种成员

Joker's Time 637

11232131231231是的

11232131231231是的

准静态电磁场

叠加法 缺点:对于连续分布的电荷,叠加法的计算比较困难 虚位移法 概念 广义坐标:确实系统中导体形状、尺寸与位置的一组独立几何量。 广义力:企图改变某一广义坐标的力。 功:广义力乘上由它引起的广义坐标的改变量。 公式 ...

qq_35912930的博客 1860

读书笔记:C++ primer 5th edition--chapter16.模板与泛型编程

part1.定义模板 1.模板是泛型编程的基础 2.一个模板就是一个编译器用来生成特定类类型或函数的蓝图。 3.标准库算法都是函数模板,标准库容器都是类模板。 4.除了定义类型参数,也可以在模板中定义非类型参数,表示一个值,而非类型。 1)我们通过特定的类型名而非关键字class或者typename来指定费类型参数。 template ... 2)一个非类型参数可以是一个整型,或者

Joker's Time 637

基于STM32的智能家用节能控制系统设计

该系统可以实时监测家庭的环境参数,如温湿度、光照强度和人体存在情况,根据设定的节能策略自动控制灯光、空调、风扇等家电设备,从而降低不必要的能源消耗。该基于STM32的智能家用节能控制系统通过多种传感器实现了对家庭环境的实时监测,并结合继电器控制模块实现了对家电设备的自动化控制,从而达到节能减排的效果。根据传感器获取的数据,判断是否需要开启或关闭家电设备,从而降低不必要的能源消耗,达到节能的目的。:继电器的控制引脚连接至STM32的GPIO引脚(如PB0、PB1),用于控制灯光、风扇、空调等家电设备的开关。

stm32d1219的博客 1246

读书笔记:C++ primer 5th edition--chapter12.动态内存

part1.智能指针 1.是一种模板。 2.通用的操作:     shared_ptr > p2;      if( p2 ){…}//若p2指向一个对象则为true      p2.get()     //返回p2中保存的指针 3.shared_ptr独有操作:      make_shared (args);     //最安全的分配和使用动态内存的方法      share

Joker's Time 586

MAX31865模块温度测量

本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册,

7457

【乐鑫】唤醒词修改方法

乐鑫科技的语音识别模块(如ESP-SR)支持自定义唤醒词,但需通过官方工具链完成。

以实战经验介绍行业知识 827

读书笔记:C++ primer 5th edition--chapter7.类

part1.基本用法 1.const 成员函数示例代码 string Sales_data::isbn (const Sales_data *const this){ return this->isbn;} 2.成员函数返回值 当我们定义的函数类似于内置运算符时,应该令该函数的行为尽量模仿这个运算符。内置运算符把它的左侧运算对象当成左值返回。因此成员函数也应返回:return *this;

Joker's Time 509

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

读书笔记:C++ primer 5th edition--chapter 6.函数

part1.参数传递 1.数组形参,可使用标准库规范 void print(const int *beg, const int *end){      while(beg != end)           cout } usage:     int j[2] = {0, 1}                   print(begin(j), end(j)) 也可以显示传递表示

Joker's Time 508

YOLO26 FP16/INT8混合量化实战:精度无损+速度拉满,边缘设备部署最优解

这是混合量化的灵魂,告诉量化器:哪些层不准动,保留FP16。"""判断是否为量化敏感层 → 是则豁免为FP16返回 True=敏感层(FP16),False=可量化(INT8)"""# 1. 检测头回归分支# 2. 小通道1×1卷积# 3. SiLU 激活# 4. 残差ShortcutYOLO26想要在Jetson、RK3588、昇腾、嵌入式NPU上真正落地,FP16/INT8混合量化是唯一最优解。它的核心逻辑不是玄学,而是工程上的精准取舍能量化的层,全部INT8榨性能;

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 746

【GlobalMapper精品教程】001:GlobalMapper23+24+25 Pro-x64中文汉化版安装教程(附软件包下载)

Global Mapper 23+V24+V25中文汉化版安装教程及免费下载地址,是一款非常专业的地图绘制软件,功能非常的丰富,内置距离和面积计算,包括光栅混合、对比度调节、海拔高度查询、视线计算以及一些高级功能,通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等设置。本文讲解GlobalMapper23.1 Pro-x64安装过程。

智慧空间实验室 3万+

读书笔记:C++ primer 5th edition--chapter13.拷贝控制

part1.拷贝、赋值与销毁 1.拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值运算符,析构函数对应的操作称为拷贝控制操作 2.拷贝构造函数 1)第一个参数必须为引用类型。因为在函数调用过程中,具有非引用类型的参数要进行拷贝初始化。否则构造函数调用无法成功。 2)由于常被隐式的使用,所以不能是explicit 3)合成拷贝构造函数,对类类型成员,会试用期拷贝构造函数来拷贝,内置类型

Joker's Time 437

IEC104协议学习专栏内容规划

IEC104协议的编程学习

sixtome 1110

读书笔记:C++ primer 5th edition--chapter11.关联容器

part1.概述 1.关联容器中的元素是按关键字来保存和访问的,顺序容器是按它们在容器中的位置来顺序保存访问的。 2.8个关联容器。不同之处有三:1)set/map 2)是否允许重复关键字 (multi)3)顺序还是无序(unordered)。  3.关联容器也是模板。 part2.map 1.如果map不含key,那么下标运算会创建新元素。eg:++word_count[ wo

Joker's Time 433

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

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

读书笔记:C++ primer 5th edition--chapter10.泛型算法

part1.概述 1.泛型算法不直接操作容器,而是遍历两个迭代器制定的一个元素范围。 2.迭代器令算法不依赖与容器,但是算法依赖于元素类型的操作。 3.算法不会改变底层容器的大小 part2.初识 1.只读算法。 int sum = accumulate(vec.cbegin(), vec.cend(), 0 ); string sum = accumulate(vec.cb

Joker's Time 424

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

读书笔记:C++ primer 5th edition--chapter18.用于大型程序的工具

part1.异常处理 1.用类去管理资源,而非显式去释放,因为异常发生的时候,析构函数一定会执行,而手动释放的代码可能不会执行。 2.catch(...)会捕获所有异常,因此应该将其置于其他catch的最后。 3.noexcept表示函数不会抛出异常。 part2.命名空间 1.多个库将名字放置在全局命名空间将引命名空间污染。 2.每个命名空间是一个作用域,可以是不连续的。命名

Joker's Time 412

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

读书笔记:C++ primer 5th edition--chapter9.顺序容器

part1.概述 1.类型:vector,deque,list,forward_list,array,string 2.与内置数组类似,array对象大小固定,不支持添加删除。 3.forward_list为了保证性能,不提供size操作 4.一般用vector 5.如果程序只在读写时需要再中间插入,随后需要随机访问元素,则 1)为了避免在中间插入,可以通过用vector添加,并用so

Joker's Time 380

读书笔记:C++ primer 5th edition--chapter 3.字符串,向量,数组

part1.String 1.头文件不要包含using,因为头文件内容会被拷贝到所有引用它的文件中去。容易导致冲突。 2.string s4(10, ‘c’) => cccccccccc 初始化10个c的string 3.函数:s.empty()     s.size() 4.string对象会自动忽略开头的空白(空格符,换行符,制表符) 5.使用c++版本的C标准库(cstdio ra

Joker's Time 377

读书笔记:C++ primer 5th edition--chapter14.重载运算与类型转换

part1.基本概念 1.重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。如果一个运算符函数是成员函数,则this绑定到左侧运算对象上。函数的参数数量会比运算对象数量少一个。 2.只能重载已有运算符。不能发明,比如** 3.可以直接调用一个重载的运算符函数 //二者等价 data1 += data2; data1.operator+=(data2); 4.不应该重载逗号,

Joker's Time 375

读书笔记:C++ primer 5th edition--chapter8.IO Lib

part1.IO类 1.进行IO操作的函数通常以引用方式传递和返回流。而且是const的 2.输出缓冲,因为cin和cerr都关联到cout,因此读cin或者写cerr都会刷新缓冲区 3.除了endl,还有不加任何字符的刷新,flush;以及添加空字符然后刷新的ends 4.可以设置unitbuf和nounitbuf,那么之间的数据会立即刷新 part2.文件和strin

Joker's Time 355
上一篇: 本年度笔记清单
下一篇: 读书笔记:Deep Learning [Ada-Computation&ML series]--chapter 14.Autoencoder
John2King
博客等级 码龄15年 11粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值