当前位置: 首页 > news >正文

c/c++ 的一些知识

c

面向对象是一种思想,通常情况下都是以组合为主,也就是在子类里定义一个基类struct base_t {void (*method)(base_t *base_p);
};struct children_t {int a;int b;base_t base;void (*method)(children_t *children_p);
};children_t children_creat(int a_p, int b_p) {children_t children = {.a = a_p,.b = b_p,.base.method = base_method,.method = children_method,};
}void base_method(base_t *base_p) {...};
void children_method(children_t *children_p) {...};children_t children_my = children_creat(1, 2);
(*children_my.base.method)(&children_my.base);
(*children_my.method)(&children_my);

cpp

数组置 0int a[5] = { 0 };类有继承时可以根据需要不手动初始化基类,在定义或声明构造函数时就可以当作没有基类那样写。如果基类的构造函数没有默认值可能还是需要显式指定参数

类似的语法

函数指针

c被获取函数针指的函数:void action_run(int);指针函数声明:void (*get_action_method(state_t))(int);指针函数定义:void (*get_action_method(state_t state))(int i) {...}函数调用:(*get_action_method(state_state_machine))(123);cpp当这些都在一个类里被获取函数针指的函数:void action_run(int);指针函数声明:void (app_t::*get_action_method(state_t))(int);指针函数定义:void (app_t::*app_t::get_action_method(state_t state))(int i) {...}函数调用:(this->*get_action_method(state_state_machine))(123);

预定义符号

__FILE__ // 当前源文件名称
__LINE__ // 当前文件里的行号
__DATE__ // 编译日期
__TIME__ // 编译时间
__func__ // 所在函数的函数名

条件编译configuration.hpp#define plc_t_test 1plc_t.cpp#include "configuration.hpp"#ifdef plc_t_test// 测试 beginreturn true;// 测试 end#elses7_client.Disconnect();return true;#endif

大端小端涉及到的左移右移等

低地址在左,高地址在右大端:从低地址往高地址看,高字节被先看到,也就是高字节在低地址
小端:从低地址往高地址看,低字节被先看到,也就是低字节在低地址人书写数字时高位在左,低位在右。左移是书写上的低位向高位移动,大端与小端的结果是一样的,但一定要是整体,如果把一个 u32 类型拆成 4 个 u8 类型做同一种操作,肯定就不一样了

i++ 和 ++i

单独使用的时候是没有区别的,但是如果当成运算符,就会有区别了:a=i++,这个运算的意思是先把i的值赋予a,然后在执行i=i+1当i初始等于3时,执行a=i++,最终结果a=3,i=4a=++i,这个的意思是先执行i=i+1,然后在把i的值赋予a当i初始等于3时,执行a=++i,最终结果a=4,i=4两者参与运算时的区别就是:a=i++ , a 返回原来的值a=i,i=i+1;a=++i , a 返回加1后的值,a=i+1,i=i+1。也就是i++是先赋值,然后再自增;++i是先自增,后赋值。第二个区别就是: i++ 不能作为左值,而++i可以。所以除了单独使用外,其他地方不能使用,也可以用 i += 1 来代替 

二进制强制转换

需要指针quint32 temp = 0x484D1400;
float *f_p = reinterpret_cast<float *>(&temp);
float temp2 = float(temp);
float temp3 = *f_p;qDebug() << temp;
qDebug() << temp2;
qDebug() << temp3;输出12130109441.21301e+09210000

相关文章:

c/c++ 的一些知识

c 面向对象是一种思想&#xff0c;通常情况下都是以组合为主&#xff0c;也就是在子类里定义一个基类struct base_t {void (*method)(base_t *base_p); };struct children_t {int a;int b;base_t base;void (*method)(children_t *children_p); };children_t children_creat(i…...

Rancher上的应用服务报错:413 Request Entity Too Large

UI->rancher的ingress->UI前端(在nginx里面)->zuul->server 也就是说没经过一次http servlet 都要设置一下大小 1.rancher的ingress 当出现Request Entity Too Large时&#xff0c;是由于传输流超过1M。 1、需要在rancher的ingress中设置参数解决。 配置注释&a…...

【LeetCode题目详解】第八章 贪心算法 part01 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和 day31补

贪心算法理论基础 关于贪心算法&#xff0c;你该了解这些&#xff01; 题目分类大纲如下&#xff1a; # 什么是贪心 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 这么说有点抽象&#xff0c;来举一个例子&#xff1a; 例如&#xff0c;有一堆钞票&…...

ssm+vue中国咖啡文化宣传网站源码和论文

ssmvue中国咖啡文化宣传网站源码和论文078 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 课题背景 随着时代的发展和人们生活理念的进一步改变&#xff0c;咖啡业已经成为了全球经济中发展最迅猛的产业之一。…...

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍

这篇文章我们继续讲解code-mapping的Data stores页,这个页的内容对应的SIMULINK中的模块是Data store memory。 我们首先在模型中创建一个Data store memory模块,如图: Data store memory模块的作用相当于一个全局变量,我们可以在模型的功能逻辑里将一个信号存进去,在另…...

区间型动态规划典型题目:lintcode 476 · 石子归并【中等,免费】lintcode 593 · 石头游戏 II【中等 vip】

题目lintcode476 链接&#xff0c;描述 https://www.lintcode.com/problem/476/description 有一个石子归并的游戏。最开始的时候&#xff0c;有n堆石子排成一列&#xff0c;目标是要将所有的石子合并成一堆。合并规则如下&#xff1a;每一次可以合并相邻位置的两堆石子 每次…...

4. 池化层相关概念

4.1 池化层原理 ① 最大池化层有时也被称为下采样。 ② dilation为空洞卷积&#xff0c;如下图所示。 ③ Ceil_model为当超出区域时&#xff0c;只取最左上角的值。 ④ 池化使得数据由5 * 5 变为3 * 3,甚至1 * 1的&#xff0c;这样导致计算的参数会大大减小。例如1080P的电…...

ChatGPT Prompting开发实战(一)

一、关于ChatGPT Prompting概述 当我们使用ChatGPT或者调用OpenAI的API时&#xff0c;就是在使用prompt进行交互&#xff0c;用户在对话过程中输入的一切信息都是prompt&#xff08;提示词&#xff09;&#xff0c;当然工业级的prompt与人们通常理解的prompt可能不太一样。下面…...

VB车辆管理系统SQL设计与实现

摘 要 随着信息时代的到来,信息高速公路的兴起,全球信息化进入了一个新的发展时期。人们越来越认识到计算机强大的信息模块处理功能,使之成为信息产业的基础和支柱。 我国经济的快速发展,汽车已经成为人们不可缺少的交通工具。对于拥有大量车辆的机关企事业来说,车辆的…...

java 泛型

概述 泛型在java中有很重要的地位&#xff0c;在面向对象编程及各种设计模式中有非常广泛的应用。 泛型&#xff0c;就是类型参数。 一提到参数&#xff0c;最熟悉的就是定义方法时有形参&#xff0c;然后调用此方法时传递实参。 那么类型参数理解呢&#xff1f; 顾名思义&…...

git 查看/配置 local/global 用户名称和用户邮箱

1、--local: 本地设置&#xff08;仅对当前仓库有效&#xff09; git config --local user.name “你的名称” git config --local user.email “你的邮箱” 2、--global 全局设置&#xff08;对当前用户的所有仓库有效&#xff09; git config --global user.name “你的名称…...

无涯教程-分类算法 - 简介

分类可以定义为根据观测值或给定数据点预测类别的过程。分类的输出可以采用"黑色"或"白色"或"垃圾邮件"或"非垃圾邮件"的形式。 在数学上&#xff0c;分类是从输入变量(X)到输出变量(Y)近似映射函数(f)的任务&#xff0c;它属于有监督…...

python venv 打包,更换路径后,仍然读取到旧路径 ,最好别换路径,采用docker封装起来

机械盘路径 /home/yeqiang/code/xxx 移动到 /opt/xxx 编辑/opt/xxx/venv/bin/activate VIRTUAL_ENV"/home/yeqiang/code/xxx/venv" 改为 VIRTUAL_ENV"/opt/xxx/venv" 下面还有这么多&#xff0c;参考&#xff1a; (venv) yeqiangyeqiang-MS-7B23:/…...

MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

目录 1、DeepLab系列简介 1.1.DeepLabV1 1.1.1创新点&#xff1a; 1.1.2. 动机&#xff1a; 1.1.3. 应对策略&#xff1a; 1.2.DeepLabV2 1.2.1.创新点&#xff1a; 1.2.2.动机 1.2.3. 应对策略&#xff1a; 1.3.DeepLabV3 1.3.1创新点&#xff1a; 1.3.2. 动机&am…...

road to master

零、学习计划 数据库相关 索引 我以为我对数据库索引很了解&#xff0c;直到我遇到了阿里面试官 - 知乎 (zhihu.com)给我一分钟&#xff0c;让你彻底明白MySQL聚簇索引和非聚簇索引 - 知乎 (zhihu.com)聚集索引&#xff08;聚类索引&#xff09;与非聚集索引&#xff08;非聚类…...

<深度学习基础> 激活函数

为什么需要激活函数&#xff1f;激活函数的作用&#xff1f; 激活函数可以引入非线性因素&#xff0c;可以学习到复杂的任务或函数。如果不使用激活函数&#xff0c;则输出信号仅是一个简单的线性函数。线性函数一个一级多项式&#xff0c;线性方程的复杂度有限&#xff0c;从…...

评价指标BLUE了解

BLEU (Bilingual Evaluation Understudy&#xff0c;双语评估基准&#xff09;是一组度量机器翻译和自然语言生成模型性能的评估指标。BLEU指标是由IBM公司提出的一种模型评估方法,以便在机器翻译领域中开发更好的翻译模型。BLEU指标根据生成的句子与人工参考句子之间的词、短语…...

5G网关如何提升智慧乡村农业生产效率

得益于我国持续推进5G建设&#xff0c;截至今年5月&#xff0c;我国5G基站总数已达284.4万个&#xff0c;覆盖全国所有地级市、县城城区和9成以上的乡镇镇区&#xff0c;实现“镇镇通5G”&#xff0c;全面覆盖了从城市到农村的延伸。 依托5G网络的技术优势&#xff0c;智慧乡村…...

微信小程序分享后真机参数获取不到和部分参数不能获取问题问题解决

微信小程序的很多API&#xff0c;都是BUG&#xff0c;近期开发小程序就遇到了分享后开发工具可以获取参数&#xff0c;但是真机怎么都拿不到参数的问题 一、真机参数获取不到问题解决 解决方式&#xff1a; 在onLoad(options) 中。 onLoad方法中一定要有options 这个参数。…...

Confluence使用教程(用户篇)

1、如何创建空间 可以把空间理解成一个gitlab仓库&#xff0c;空间之间相互独立&#xff0c;一般建议按照部门&#xff08;小组的人太少&#xff0c;没必要创建空间&#xff09;或者按照项目分别创建空间 2、confluence可以创建两种类型的文档&#xff1a;页面和博文 从内容上来…...

MogFace-large项目GitHub Actions CI/CD流水线构建教程

MogFace-large项目GitHub Actions CI/CD流水线构建教程 最近在折腾一个基于MogFace-large的人脸检测项目&#xff0c;每次手动测试、打包、部署&#xff0c;流程繁琐不说&#xff0c;还容易出错。团队协作时&#xff0c;代码合并后谁去跑测试、谁去更新镜像&#xff0c;也是个…...

从Bootloader到App的优雅跳转:关键步骤与实战解析

1. 为什么需要Bootloader跳转App&#xff1f; 在嵌入式开发中&#xff0c;Bootloader和App的关系就像电脑的BIOS和操作系统。Bootloader负责硬件初始化、固件更新等底层工作&#xff0c;而App则是实现具体业务逻辑的主程序。两者分工明确&#xff0c;但最终需要无缝衔接。 我遇…...

终极指南:如何用WeChatExtension-ForMac插件彻底改变你的微信体验

终极指南&#xff1a;如何用WeChatExtension-ForMac插件彻底改变你的微信体验 【免费下载链接】WeChatExtension-ForMac Mac微信功能拓展/微信插件/微信小助手(A plugin for Mac WeChat) 项目地址: https://gitcode.com/gh_mirrors/we/WeChatExtension-ForMac 你是否觉得…...

Python新手必看:PyCharm 2021.2.3社区版安装与配置全攻略(附环境变量检查)

Python开发环境搭建指南&#xff1a;PyCharm社区版安装与高效配置实战 如果你正准备踏入Python编程的世界&#xff0c;选择一款趁手的开发工具至关重要。JetBrains推出的PyCharm社区版凭借其智能代码补全、强大调试功能和丰富的插件生态&#xff0c;成为众多Python初学者的首选…...

jsoncpp实战:从配置文件解析到网络数据交换,我的C++项目数据管理方案

JSONCPP实战&#xff1a;从配置文件解析到网络数据交换的C数据管理方案 在C后端服务开发中&#xff0c;JSON数据格式因其轻量级和易读性成为配置文件和API通信的首选。作为从业多年的C开发者&#xff0c;我发现jsoncpp库在项目中的灵活运用能显著提升开发效率。本文将分享我在实…...

gorilla/sessions深度解析:Cookie与文件系统存储实战

gorilla/sessions深度解析&#xff1a;Cookie与文件系统存储实战 【免费下载链接】sessions Package gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends. 项目地址: https://gitcode.com/gh_mirrors/se/sessions …...

百川2-13B中文优势:OpenClaw在本地化办公场景中的特殊优化技巧

百川2-13B中文优势&#xff1a;OpenClaw在本地化办公场景中的特殊优化技巧 1. 为什么选择百川2-13B处理中文办公文档 去年我在整理团队季度报告时&#xff0c;曾尝试用多个开源模型处理中文PDF和微信群聊记录。当通用英文模型遇到中文标点符号和行业术语时&#xff0c;要么漏…...

DownKyi:B站视频高效解决方案——如何三步搞定8K资源本地化管理

DownKyi&#xff1a;B站视频高效解决方案——如何三步搞定8K资源本地化管理 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印…...

从ONNX到MLU:基于MagicMind的GFPGANv1.4超分模型部署与性能调优实战

1. 环境准备与模型转换 寒武纪MLU平台上的AI模型部署需要从基础环境搭建开始。我最近在MLU370-M8卡上部署GFPGANv1.4超分模型时&#xff0c;发现选择合适的Docker镜像是第一步关键。官方推荐的pytorch:v24.10镜像已经预装了torch2.4.0和torchmlu1.23.1&#xff0c;这省去了大量…...

别再手动调参了!用Matlab+NRBO-BP+NSGAII搞定工艺优化,自动生成最优参数组合Excel

工艺优化新范式&#xff1a;基于NRBO-BP与NSGAII的智能参数寻优系统 在化工、材料、制造等领域的工艺优化过程中&#xff0c;工程师和研究人员常常面临一个共同的挑战&#xff1a;如何在有限的实验资源和时间约束下&#xff0c;从海量的参数组合中找到最优解。传统的手动调参方…...