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

C++概述

1    什么是面向对象】

概念上来说:就是以对象(具体的变量)为导向的编程思路
专注于:一个对象具体能实现哪些过程(哪些功能)
面向对象 = n * 面向过程

结论:面向对象需要做的事情
1:我们要想清楚,我们现在需要编写一个拥有哪些功能的对象 (面向对象的思路,C++编程)
2:再去为这个对象中的每一个功能做具体的实现(实际就是面向过程,c语言编程)

2    c++与c语言的一些区别

2.1    字符串类型


c语言的字符串,就是字符数组,不是一个变量
c++的字符串,就是一个变量

既然是变量,c++ 字符串就允许做以下的操作

string str = "123"
string ptr = "456"
str = ptr;
str == ptr;
str += ptr;

将c++字符串转换成c语言字符串(将string转换成const char* 类型)
const char* s = str.data();

2.2    bool 类型


bool 类型的变量只有2个值:
true 或者 false
其实还是 1 和 0,1表示真,即true,0表示假,即false

c++ 专门搞了个数据类型来表示 真或者假

2.3    标准输入输出


c语言标准输出:printf  c语言标准输入:scanf

c++ 的标准输出:cout  c++ 的标准输入:cin

2.4    auto 关键字


c语言中的auto:自动申请局部变量的意思,现代编译器基本都省略
c++中的auto:自动推导类型
    例如:
        auto a = 100
        则会将a推到成int类型
        auto b = 3.14
        自动将b推到成double类型
        。。。。
        其实就是根据 = 右侧的数据类型,自动推导 = 左侧的变量的类型

2.5    引用


引用的写法
int a = 10;
int& pa = a;

引用,本质上来说就是一个变量的别名、别称
当我们输出 pa 和 a (即一个引用和被改引用绑定的变量地址)的话
我们会发现2个地址是一模一样的
既然地址一样,就说明是同一个变量
既然是同一个变量,改a,pa会变,改pa ,a也会变

引用的特点
1:引用一旦绑定一个数据之后,就无法更换绑定了,永远与该数据绑定在一起
2:由于引用无法中途更换绑定对象,所以引用必须初始化,如果没有初始化,后续也没有机会为他绑定数据了
3:常量只能被常量引用绑定,但是反过来,变量即可以被普通引用绑定,也可以被常量引用绑定

引用和指针的区别
1:指针拥有一个独立的地址,地址上存放的是被指向的数据的地址
引用无法获取引用本身的地址,引用的地址即为变量的地址
2:指针中途允许随意改变指向
引用中途不能更改绑定
3:指针可以不初始化,也可以初始化为空
引用必须初始化,绑定一个具体数据
4:sizeof 指针 大小是 4或者8
sizeof 引用大小取决于被绑定的数据的类型

4    c++的第一个程序:输出hello world

#include <iostream>

using namespace std;

int main(){
    cout << "hello world" << endl;        
    return 0;
}

4.1    c++的头文件


c语言头文件的风格: #include <XXXX.h> 以.h结尾
c++头文件风格:#include <XXXX> 或者 #include <XXX.hpp>

早期开发c++的时候,c++ 为了统一c语言中的各种头文件风格,专门将c语言中的各种头文件,重新写了一遍
例如:将 stdio.h 写成了 cstdio,string.h 写成了 cstring
    统一的将几乎所有 c语言的头文件 前面加上 c,后面去掉.h
    即 xxx.h 改成了 cxxx
    
但是这个事情虎头蛇尾了,后面也没人提这个标准了
但是有一些代码还是会看见诸如
    #include <cstring>
    #include <ctime>
    这样的头文件,大家要反应过来,这是c语言的头文件


4.2    using namespace std:命名空间


命名空间用途:防止多个程序在分模块开发的时候,写出同名结构体定义 和 同名函数的问题

4.2.1    如何声明一个命名空间


namespace 命名空间名{
    写 结构体的自定义
    函数的声明
    函数的声明及定义
    全局变量声明
    全局变量的声明及定义    
};

4.2.2    如何使用指定的命名空间]


1    在一个作用域里面,写上代码:using namespace 命名空间名


在写有该语句的作用域当中,都会额外的去目标命名空间中 查询函数/结构体名/全局变量
namespace zs{
    void func(){
        cout << "张三的func" << endl;
    }
};

namespace ls{
    void func(){
        cout << "李四的func" << endl;
    }
}

/*
void func(){
    cout << "全局的func" << endl;
}
*/

int main(int argc,const char** argv){
        using namespace zs;// 说明:在main函数作用域中,所有的函数名,结构体名,全局变量名,都会 "额外" 的再去 命名空间 zs 中寻找一遍
        using namespace ls;
        func();
}

所以,using namespace 这种形式,简单是简单,但是很不好用
非常容易造成冲突

2    在一个作用域里面写上:using 命名空间名::函数名/结构体名/全局变量名


namespace zs{
        void func(){
            cout << "张三的func" << endl;
        } 
    
        struct Data{
            int a;
        };
};

namespace ls{
        void func(){
            cout << "李四的func" << endl;
        }
    
        struct Data{
            double a;
        };
};


void func(){
    cout << "全局的func" << endl;
}


int main(int argc,const char** argv){
        using zs::func;// 表明在当前作用域中,仅指定fun去zs命名空间中寻找,其他所有内容还是全局寻找
        func();// 所以此处即使全局也有一个func,因为通过上面的代码指定了func只去zs中寻找,所以不报错
}


但是这种写法虽然比 using  namespace 要好一点,依旧容易冲突
using zs::func
using ls::func
一眼报错

3    直接在函数名/结构体名/全局变量名前面加上 "命名空间名::"


zs::func()
表示调用 zs里面的func
ls::func()
表示调用ls里面的func
func()
表示调用全局的func

这种方式是最安全最常用的方式

4.2.3    :: 是什么东西


:: 是作用于运算符
例如    x::y 
    表明:使用y的时候(y可以是函数,结构体名,全局变量名),去x作用域中寻找y
    也可以表明,y是隶属于x作用域的

相关文章:

C++概述

1 什么是面向对象】 概念上来说&#xff1a;就是以对象(具体的变量)为导向的编程思路 专注于&#xff1a;一个对象具体能实现哪些过程(哪些功能) 面向对象 n * 面向过程 结论&#xff1a;面向对象需要做的事情 1&#xff1a;我们要想清楚&#xff0c;我们现在需要编写一个…...

axios文件下载使用后端传递的名称

java后端通过HttpServletResponse 返回文件流 在Content-Disposition中插入文件名 一定要设置Access-Control-Expose-Headers&#xff0c;代表跨域该Content-Disposition返回Header可读&#xff0c;如果没有&#xff0c;前端是取不到Content-Disposition的&#xff0c;可以在统…...

如何让 history 记录命令执行时间?Linux/macOS 终端时间戳设置指南

引言:你真的会用 history 吗? 有没有遇到过这样的情况:你想回顾某个重要命令的执行记录,却发现 history 只列出了命令序号和内容,根本没有时间戳?这在运维排查、故障分析、甚至审计时都会带来极大的不便。 想象一下,你在服务器上误删了某个文件,但不知道具体是几点执…...

使用LLaMAFactory微调Qwen大模型

一、环境配置与工具安装 1. 硬件要求 GPU:至少1块NVIDIA GPU(推荐RTX 4090/A100/H100,显存≥16GB)。内存:≥64GB系统内存。存储:≥100GB硬盘空间用于模型与数据集存储。2. 软件依赖 Python 3.8+:需安装CUDA支持的PyTorch版本(如torch==2.0.1+cu117)。 依赖库:通过以…...

CSS3:现代Web设计的魔法卷轴

一、布局革命&#xff1a;从平面到多维空间 1.1 Grid布局的次元突破 星际战舰布局系统 .galaxy {display: grid;grid-template-areas: "nav nav nav""sidebar content ads""footer footer footer";grid-template-rows: 80px 1fr 120p…...

Netty - 从Nginx 四层(TCP/UDP)流量中获取客户端真实/网络出口IP

文章目录 一、背景与原理1.1 问题场景网络架构影响分析1.1 客户端与Nginx之间存在的NAT/VPN1.2 Nginx与RPC服务之间的NAT 1.2 技术原理 二、环境配置验证2.1 Nginx配置2.2 版本要求 三、Netty服务端实现3.1 Pipeline配置&#xff08;核心代码&#xff09;3.2 协议处理器实现3.3…...

基于Spring AI开发本地Jenkins MCP Server服务

前言 首先介绍下MCP是什么&#xff1f; MCP是由开发了 Claude 模型的 Anthropic 公司2024年12月提出并开源的一项开放标准&#xff0c;全称&#xff1a;Model Context Protocol&#xff0c;它是一个开放协议&#xff0c;它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能…...

记录一次TDSQL事务太大拆过binlog阈值报错

记录一次TDSQL事务太大拆过binlog阈值报错处理过程 1、排查任何类型数据库故障的第一步&#xff0c; 同步实例信息、报错内容、报错时间段、当前是否恢复、如何感知到数据库问题的、对应用有什么影响、系统允许的时间窗口。 2、明确报错内容为单次写入binlog量超过阈值 3、登陆…...

1688商品详情接口:深度解析与应用实践

在电商领域&#xff0c;1688作为中国领先的B2B平台&#xff0c;拥有海量的商品信息。对于开发者、商家和数据分析师来说&#xff0c;获取1688商品的详细信息是实现数据分析、竞品研究、自动化管理和精准营销的重要手段。本文将详细介绍1688商品详情接口的使用方法、技术细节以及…...

机试题——村落基站建设

题目描述 假设村落以二叉树的形状分布&#xff0c;我们需要选择在哪些村落建设基站。如果某个村落建设了基站&#xff0c;那么它和它相邻的村落&#xff08;包括本节点、父节点和子节点&#xff09;也会有信号覆盖。目标是计算出最少需要建设的基站数。 输入描述 输入为一个…...

2025年高压电工考试真题分享

以下是一些高压电工考试题&#xff1a; 单选题 1、高压架空线路的档距一般为&#xff08; &#xff09;。 A. 20 - 30m B. 30 - 50m C. 50 - 80m D. 80 - 100m 答案&#xff1a;B。解析&#xff1a;高压架空线路档距一般在 30 - 50m&#xff0c;这样的档距能较好地保证线…...

T-SQL 语言基础:逆透视转换

概念 -- 把数据从列的转台转为行的状态-- 涉及查询数据的透视状态&#xff0c;将来自单个记录中多个列的值扩展为单个列中具有相同值的多个记录-- 也就是把透视表中的每个源行潜在地转换为多个行示例表继续使用上一篇博客&#xff0c;TempDB dbo.Orders 表。 T-SQL 语言基础&a…...

循环神经网络 - 给网络增加记忆能力

为了处理时序数据并利用其历史信息&#xff0c; 我们需要让网络具有短期记忆能力。而前馈网络是一种静态网络&#xff0c;不具备这种记忆能力。在正式学习循环神经网络之前&#xff0c;我们先来了解一下给网络增加短期记忆能力的三种方法。 一、延时神经网络 延时神经网络&am…...

Docker Desktop 界面功能介绍

Docker Desktop 界面功能介绍 左侧导航栏 Containers(容器): 用于管理容器,包括查看运行中或已停止的容器,检查容器状态、日志,执行容器内命令,启动、停止、删除容器等操作。Images(镜像): 管理本地 Docker 镜像,可查看镜像列表、从 Docker Hub 拉取新镜像、删除镜…...

R001-区块链

1.区块链概念 英文名&#xff1a;blockchain 或block chain what: 是一种块链式存储、不可篡改、安全可信的去中心化分布式账本. 特点&#xff1a;它结合了分布式存储、点对点传输、共识机制、密码学等技术&#xff0c;通过不断增长的数据块链&#xff08;Blocks&#xff09;记…...

无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通-

无人机进行航空数据收集对于分析道路状况非常有用-使用无人机勘测高速公路而不阻碍交通- 瑞士拥有1,400 多公里长的高速公路网络。这些公路将人和货物从山谷高原运送到阿尔卑斯山的最高山口。维护这些高速公路使国家得以顺利运转。高速公路维护的重要性显而易见&#xff0c;但在…...

StarRocks 证书SRCA和SRCP

目录 引子 SRCA认证 SRCP认证 认证流程 引子 StarRocks介绍&#xff1a;极速全场景 MPP数据库starrocks介绍-CSDN博客 StarRocks中文社区推出了StarRocks 培训与认证&#xff0c;学习并通过考试后&#xff0c;可以得到StarRocks证书。对starrocks感兴趣或需要使用starrocks的…...

String类的模拟实现

我们在使用STL库的时候&#xff0c;不仅需要掌握如何使用&#xff0c;我们还需要了解一些底层的模拟实现。 1&#xff1a;需要模拟实现的string类函数 #pragma once #include<iostream> #include<assert.h> #include<utility> using namespace std;namespa…...

VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)

漏洞概述 博通公司&#xff08;Broadcom&#xff09;近日修复了 VMware Windows Tools 中存在的一个高危认证绕过漏洞&#xff0c;该漏洞编号为 CVE-2025-22230&#xff08;CVSS 评分为 9.8&#xff09;。VMware Windows Tools 是一套实用程序套件&#xff0c;可提升运行在 VM…...

【计算机网络ICMP协议详解】

文章目录 一、前言二、ICMP协议概述2.1 ICMP 与 IP 协议的关系2.2 ICMP 的作用 三、ICMP报文格式3.1 字段解释&#xff1a; 四、常见ICMP类型与代码五、ICMP协议工作原理与示例5.1 ping 命令5.2 traceroute 命令 六、ICMP与网络安全6.1 ICMP的安全隐患6.2 防御措施 七、ICMP协议…...

WPF 自定义路由事件

WPF 路由事件的基础 什么是路由事件&#xff1f; 路由事件是一种特殊的事件机制&#xff0c;允许事件在可视化树中传播。它支持三种路由策略&#xff1a; 冒泡&#xff08;Bubbling&#xff09;&#xff1a;事件从源元素向上传播到根元素。隧道&#xff08;Tunneling&#xf…...

从零开始跑通3DGS教程:(一)数据(采集)

写在前面 本文内容 本文所属《从零开始跑通3DGS教程》系列文章; 本文介绍数据准备或者采集准备方式 平台/环境 linux, nvidia GPU, docker 转载请注明出处&#xff1a; https://blog.csdn.net/qq_41102371/article/details/146533367 目录 写在前面系列文章公开数据自己的数…...

DATEDIFF 函数

DATEDIFF 函数概述 DATEDIFF 函数用于计算两个日期之间的差值。 不同的数据库系统对 DATEDIFF 函数的实现和语法可能略有不同&#xff0c;但基本原理是相同的。 通用语法 DATEDIFF(datepart, startdate, enddate)datepart: 指定要计算的日期部分。 例如&#xff0c;day、wee…...

Java 大视界 -- 基于 Java 的大数据隐私计算在医疗影像数据共享中的实践探索(158)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

在Windows下VSCodeSSH远程登录到Ubuntu

Window用VSCode通过SSH远程登录Ubuntu SSH 服务开启Windows远程登录 SSH 服务开启 首先要确保 Ubuntu 的 SSH 服务开启了&#xff0c;开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu 开启 SSH sudo apt-get install openssh-serverWindows远…...

MATLAB 控制系统设计与仿真 - 31

二次型最优控制 考虑到系统如果以状态空间方程的形式给出&#xff0c;其性能指标为&#xff1a; 其中F,Q,R是有设计者事先选定。线性二次最优控制问题简称LQ(Linear Quadractic)问题,就是寻找一个控制,使得系统沿着由指定初态出发的相应轨迹,其性能指标J取得最小值。 LQ问题分…...

基于SpringBoot + Vue 的考勤管理系统

系统环境 开发工具&#xff1a;IntelliJ IDEAJava 版本&#xff1a;JDK 1.8数据库&#xff1a;MySQL项目构建工具&#xff1a;Maven 项目主要技术 后端技术 Spring Boot&#xff1a;简化 Spring 应用开发流程&#xff0c;实现快速搭建和部署。MyBatis&#xff1a;用于实现数…...

JavaScript 中Object.assign()和展开运算符在对象合并时的区别,各自的适用场景是什么?

JavaScript 中Object.assign()和展开运算符在对象合并时的区别&#xff0c;各自的适用场景是什么&#xff1f; 在 JavaScript 里&#xff0c;咱们常常要把多个对象合并成一个新对象。Object.assign()和展开运算符&#xff08;...&#xff09;就像两个得力小助手&#xff0c;能…...

鸿蒙北向应用开发:deveco 5.0 kit化文件相关2

鸿蒙北向应用开发:deveco 5.0 kit化文件相关 在kit化时,有时候会出现这样一种场景即你想把已有的d.ts导出换个名字,这样从名字上更贴合你的kit聚合 什么意思呢?比如现在有 ohos.hilog.d.ts 导出了hilog,现在你想kit化hilog,使得hilog导出名字为usrhilog,这样用户在使用你的k…...

北斗导航 | 改进伪距残差矢量的接收机自主完好性监测算法原理,公式,应用,RAIM算法研究综述,matlab代码

改进伪距残差矢量的接收机自主完好性监测算法研究 摘要 接收机自主完好性监测(RAIM)是保障全球卫星导航系统(GNSS)可靠性的核心技术。本文针对传统伪距残差矢量法在微小故障检测和多故障隔离中的不足,提出一种融合加权奇偶空间与动态阈值调整的改进算法。通过理论推导验证…...

Postman 如何发送 Post 请求上传文件? 全面指南

写一个后端接口&#xff0c;肯定离不开后续的调试&#xff0c;所以我使用了 Postman 来进行上传图片接口的调试&#xff0c;调试步骤也很简单&#xff1a; 第一步&#xff1a;填写请求 URL第二步&#xff1a;选择请求类型第三步&#xff1a;选择发送文件第四步&#xff1a;点击…...

Python 装饰模式

在软件开发中&#xff0c;随着系统的复杂性增加&#xff0c;需求的变化往往会导致代码的频繁修改。为了提高代码的灵活性和可维护性&#xff0c;设计模式应运而生。其中&#xff0c;装饰模式&#xff08;Decorator Pattern&#xff09;是一种非常实用的结构型设计模式&#xff…...

JVM 面经

1、什么是 JVM? JVM 就是 Java 虚拟机&#xff0c;它是 Java 实现跨平台的基石。程序运行之前&#xff0c;需要先通过编译器将 Java 源代码文件编译成 Java 字节码文件&#xff1b;程序运行时&#xff0c;JVM 会对字节码文件进行逐行解释&#xff0c;翻译成机器码指令&#x…...

java对pdf文件分页拆分

文章目录 pdf文件拆分指定分页大小 pdf文件拆分 导入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.32</version></dependency>2. 大文件拆分public static boolean …...

【PGCCC】PostgreSQL Certified Master 个人专访 | 第二期 何雄

由PGCCC发起的“PostgreSQL Certified Master个人专访”栏目&#xff0c;旨在挖掘PCM们对数据库行业的深度洞察&#xff0c;分享他们对行业发展的思考和个人感悟&#xff0c;对广大PGer们具有实际借鉴意义。 1.请简单介绍一下自己,您的爱好、您的事业。 大家好&#xff0c;我…...

什么是具身智能

具身智能&#xff08;Embodied Intelligence&#xff09;是人工智能与机器人学交叉的前沿领域&#xff0c;强调智能体通过身体与环境的动态交互实现自主学习和进化&#xff0c;其核心在于将感知、行动与认知深度融合‌。通俗地讲&#xff0c;就是机器人或者智能系统在物理环境中…...

Android开发EmojiCompat 初始化

Android开发EmojiCompat 初始化 报错信息&#xff1a; ensure spannable:java.lang.IllegalStateException: EmojiCompat is not initialized 在Application上写上下面代码即可&#xff1a; EmojiCompat.Config config new BundledEmojiCompatConfig(this);EmojiCompat.in…...

k近邻算法K-Nearest Neighbors(KNN)

算法核心 KNN算法的核心思想是“近朱者赤&#xff0c;近墨者黑”。对于一个待分类或预测的样本点&#xff0c;它会查找训练集中与其距离最近的K个样本点&#xff08;即“最近邻”&#xff09;。然后根据这K个最近邻的标签信息来对当前样本进行分类或回归。 在分类任务中&#…...

TextGrad:案例

原文&#xff1a;Yuksekgonul, M., Bianchi, F., Boen, J. et al. Optimizing generative AI by backpropagating language model feedback. Nature 639, 609–616 (2025). https://doi.org/10.1038/s41586-025-08661-4 目录 Solution optimizationPrompt optimization for rea…...

位运算算法:解锁高效编程的钥匙

常见位运算场景&#xff1a; 5.消失的两个数字 1.判定字符是否唯一 解法一&#xff1a;使用HashSet 借助 HashSet 存储字符。HashSet 不允许有重复元素&#xff0c;在遍历字符串时尝试添加字符&#xff0c;若添加失败就表明有重复字符&#xff0c;返回 false&#xff1b;若遍…...

Burp Suite抓包实战:SQL注入漏洞挖掘

本文系统解析如何利用Burp Suite专业版开展SQL注入漏洞的定向挖掘&#xff0c;涵盖手动探测、自动化利用、WAF绕过等进阶技巧。通过电商、金融等行业的真实渗透案例&#xff0c;详解从流量拦截到漏洞利用的全链路方法论&#xff0c;实现单日最高挖掘23个高危注入点的实战成果。…...

使用HTML5和CSS3实现3D旋转相册效果

使用HTML5和CSS3实现3D旋转相册效果 这里写目录标题 使用HTML5和CSS3实现3D旋转相册效果项目介绍技术栈核心功能实现思路1. HTML结构2. CSS样式解析2.1 基础样式设置2.2 3D效果核心样式2.3 卡片样式 3. JavaScript交互实现3.1 旋转控制3.2 自动播放功能 技术要点总结项目亮点总…...

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案

✅ MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案 前言一、问题现象二、原因分析1. 使用了 strictInsertFill/strictUpdateFill 导致更新失效2. 实体类注解配置错误3. MetaObjectHandler 未生效4. 使用自定义 SQL 导致自动填充失效5. 字段类型不匹配 三、…...

MySQL Binlog

MySQL Binlog MySQL Binlog 介绍查看 Binlog 位点开启和关闭 BinlogBinlog 的作用Binlog 记录的格式Binlog 的解析Binlog 加密Binlog 的清理根据Binlog文件名删除根据时间删除 Binlog 保留参数Binlog 的落盘Binlog 相关参数 MySQL主从复制&#xff1a;https://blog.csdn.net/a…...

SQL中累计求和与滑动求和函数sum() over()的用法

[TOC](SQL中累计求和与滑动求和函数sum() over()的用法) 一、窗口函数功能简介 sum(c) over(partition by a order by b) 按照一定规则汇总c的值&#xff0c;具体规则为以a分组&#xff0c;每组内按照b进行排序&#xff0c;汇总第一行至当前行的c的加和值。 sum()&#xff1a…...

第十四届MathorCup高校数学建模挑战赛-C题:基于 LSTM-ARIMA 和整数规划的货量预测与人员排班模型

目录 摘要 一、 问题重述 1.1 背景知识 1.2 问题描述 二、 问题分析 2.1 对问题一的分析 2.2 对问题二的分析 2.3 对问题三的分析 2.4 对问题四的分析 三、 模型假设 四、 符号说明 五、 问题一模型的建立与求解 5.1 数据预处理 5.2 基于 LSTM 的日货量预测模型 5.3 日货量预测…...

3d pose 指标和数据集

目录 3D姿态估计、3维重建指标: 数据集 EHF数据集 SMPL-X 3D姿态估计、3维重建指标: MVE、PMVE 和 p-MPJPE 都是用于评估3D姿态估计、三维重建等任务中预测结果与真实数据之间误差的指标。 MVE (Mean Vertex Error):是指模型重建过程中每个顶点的预测位置与真实位置之间…...

【MySQL】InnoDB中的MVCC

目录 1、背景2、设置事务的隔离级别3、MVCC【1】版本链【2】ReadView【3】ReadView的生成时机 4、总结 1、背景 MVCC叫做多版本并发控制&#xff0c;通过维护数据的多个历史版本实现读写分离&#xff1a;读操作访问快照版本&#xff0c;无需加锁&#xff0c;避免阻塞写操作&am…...

从DeepSeek到Qwen,AI大模型的移植与交互实战指南

在不久前发布的《技术实战 | OK3588-C开发板上部署DeepSeek-R1大模型的完整指南》一文中&#xff0c;小编为大家介绍了DeepSeek-R1在飞凌嵌入式OK3588-C开发板上的移植部署、效果展示以及性能评测&#xff0c;本篇文章不仅将继续为大家带来关于DeepSeek-R1的干货知识&#xff0…...

蓝桥杯Java组国赛G题(01背包问题的变形)

题目 解题思路 首先&#xff0c;解决此题的前置知识是需要掌握普通的 01 背包问题。当然&#xff0c;这题肯定不可能这么简单。题目相对于 01 背包来说&#xff0c;唯一的区别在于小蓝可以使用 1 次魔法。我们只需要多加一维状态记录是否使用了魔法即可。下面考虑动态规划&…...