C++与我的甜蜜第二天

RTX4060本地部署Qwen3.5-9B+openclaw实现离线AI Agent AI Agent(智能体)是具备感知、规划、工具调用与自主执行能力的下一代AI应用范式。其核心原理依赖大语言模型(LLM)作为推理中枢,结合结构化Prompt工程、函数调用(Function Calling)协议及插件化技能(Skill)调度机制,实现闭环决策。技术价值在于摆脱云端API依赖,保障数据隐私、降低使用成本并提升响应确定性。典型应用场景包括本地文档分析、自动化办公、私有知识库问答及边缘端智能控制。本文聚焦消费级GPU(如RTX4060)在资源受限条件下,通过llama.cpp推理引擎高效加载Qw 阅读详情

想一想,C++貌似和C没有很大的区别,甚至可以用C的任何代码,除了引用不要和指针混淆。
总结一下目前已知的C艹和C的我写代码时候遇到的区别:

  1. #include ??? 没错,就是引入库的时候变了,不过都是输入输出流,没必要在意太多,不用".h"了
  2. 输入输出格式cout << "" << endl;cin >> "";
  3. string,一个非常实用的类库
  4. 可以使用引用,可以理解为一个变量多个名字,而不像我们使用的指针变量取到的变量地址,更加灵活,这个引用我目前找不到什么用处。
  5. 数据类型多了bool,好像C#也只多了一个bool,啊,貌似也集合了string。
  6. 动态内存管理不需要用malloc了,直接用new就可以,比较灵活,直接自己判断数据类型和空间大小。

我的STL学习

STL(Standard Template Library)标准模板库!!再也不用我在C里面手打一堆了!从表面上来说,STL就是一些“容器“和“算法”的集合。其实编程不就是数据结构加算法么?容器就是将一些数据结构封装了,可以直接进行调用。
列举STL的所有头文件:、、、、、、、、、、、和。
必须一个一个好好学嗷,芜湖~

(不学STL的C++就不是完整的C艹)

简单的stl入门:

1、Container
是一种数据结构,也是stl中几乎是最重要的,包含了list,vector,stack,queue等。可以使用由容器类输出的迭代器。(这里一环扣一环)
2、Iterator
迭代器,是一种特殊的指针,它提供了访问容器中对象的方法,至于在程序设计中,它扮演了容器和算法之间的胶合剂,可以安全地对容器内容进行操作,或是进行算法模板的使用。(调用容器进行算法的构建,容器只是一个数据结构,即对象)
3、Algorithm
算法,是一类常用的算法模板,就可以对容器进行操作,同时其开放性也让算法类本身可以针对数组或是自定义结构体等结构进行直接的操作。
4、Function object
仿函数,抽象来说是一种行为类似函数,我们可以理解为一种高级的,重载了()操作符的结构体与类。/有点不懂/
5、Iterator Adaptor
迭代适配器,是一种用来修饰容器或者仿函数的接口,它使得适配器能够让算法以逆向模式、安插模式工作,甚至可以与流配合。对容器起到非常大的辅助作用,同时他还将迭代器进行了更高级别的抽象。
6、allocator
是负责空间的配置与管理,重点就是对容器的空间申请和空间释放进行管理,可以理解为C的malloc和free函数,C++的new和delete关键字。动态内存管理。

容器

  • Vector

1、概念

可以翻译为向量,或向量数组,至于为什么以向量命名,可以理解为一维空间也是存在向量的。
Vector是最简单的容器,就像数组一样,向量使用连续的存储位置作为元素,这就意味着它们的元素可以使用常量指向其元素的偏移来访问,与数组一样有效。但与数组不同,他们的大小可以动态变化,其存储由容器自动处理。(是动态的!!!!)

2、相关头文件->#include<vector>

3、初始化->vector<data_type>name;

vector<int> v1;          //创建一个空的向量v1
vector<int> v2(10);      //创建一个向量v2,其已开辟10个元素的空间,相当于int v[10];
vector<int> v3(10,5);    //创建一个向量v3,其已开辟10个元素的空间并全部赋值为5
vector<int> v4(v3.begin(),v3.end());    //创建一个向量v4,其内容为向量v3的内容
vector<int> v5(v4);      //创建一个向量v5,其包含了v4的全部内容

4、迭代器

是安全访问器,不像指针,可能造成内存访问错误,里面有很多预防错误的方法和多种访问方式。在stl使用中一般用迭代器对容器进行访问,因此创建容器的迭代器。
遍历代码:

vector<int> v;       //创建一个向量v
vector<int>::iterator it;   //C98标准
for(it=v.begin();it!=v.end();it++){
    cout<<*it<<' ';
}//这不就是指针的形式么,还挺贴心的,为我们这些C老用户着想

下标形式:

 for(int i=0;i<v.size();i++){
        cout<<v[i]<<' ';
    }

5、常用接口(此处没有全部列出)

首先,我们使用vector<int> v;预先创建了一个向量

  1. 向量尾部插入push_back()
    在向量的末尾加入一个新元素,并将容器自动扩容一个。
    函数原型为:void push_back(const value_type& val);
    使用举例:v.push_back(10); //插入一个数据10
  2. 向量尾部删除pop_back()
    溢出向量尾的最后一个元素,并将容器大小减小一个。和上面的是相反的,推拉动作。
    使用举例Lv.pop_back();
  3. 插入insert()
    插入元素到指定位置,通过元素之前在指定位置插入新元素来扩展向量,从而有效地增加容器大小。
    函数原型:
    插入单一数据到指定位置:
    iterator insert (iterator position, const value_type& val);
    插入一段数据到指定位置:
    void insert (iterator position, size_type n, const value_type& val);
    插入一段别的容器的数据到指定位置:
    template <class InputIterator>
    void insert (iterator position, InputIterator first, InputIterator last);
    举例:
 v.insert(v.begin(),10);     //在向量最前端插入数据10
 v.insert(v.begin(),5,20);   //在向量最前端插入5个数据20
  
 vector<int> k(2,50);   //创建一个新的向量k,其拥有2个元素内容均为50
 v.insert(v.begin(),k.begin(),k.end());  //在向量v最前端插入向量K的全部内容
  1. 删除erase()
    删除一个元素,或是一段区间的元素,将会自动缩减空间的使用。
    函数原型:
    iterator erase (iterator position);
    iterator erase (iterator first, iterator last);
    使用举例:
v.erase(v.begin());//删除第一个元素
v.erase(v.begin(),v.begin()+4);//删除从第一个开始后的四个元素,包括第一个
  1. 清空clear()
    将向量中所有元素清空。
    函数原型:
    void clear();
    使用举例:
v.clear();
//显然这的v都利用vector的类方法,很实用啊
  1. 数据大小size()
    返回向量中的数据元素个数 。
    函数原型:
    size_type size() const;
    使用举例:
cout << v.size() << endl;//输出数据大小
  1. 已开辟最大快读capacity()
    返回向量最大已开辟的空间大小,明显和上面的有区别,因为开辟的空间可能没存数据。
    函数原型:
    size_type capacity() const;
    使用举例:
vector<int>v(3,10)//创建默认有3个值为10的元素的向量v
v.insert(v.begin(),10,20);//在向量最前端插入10个值为20 的数据
v.erase(v.begin(),v,begin()+4);//删除从第一个开始后的四个元素
cout << v.size() << endl;//输出数据大小
cout << v.capacity() << endl;//输出容器大小
  1. *最大支持空间max_size()
    返回计算机支持开辟vector的最大空间值,一般来说和计算机内存和CPU相关,是一个极大的数据,不同计算机中可能不同。
    函数原型:
    size_type max_size() const;
    使用举例:
vector<int> v(5,10);//创建默认有五个值为10的元素的向量v
cout << v.max_size() <<endl; //输出可以创建的vector空间的最大值。
MiniCPM-o 4.5全模态大模型:端侧实时流式交互技术解析 全模态大模型正从‘多输入批处理’迈向‘边看边听边说’的实时流式交互新范式。其核心原理在于模态编码器在线化、语言模型时分复用调度与主动交互决策机制的协同,技术价值体现在极低延迟(TTFT<300ms)、端侧可部署(CPU/无GPU)、高资源利用率三大突破。典型应用场景覆盖智能终端助手、无障碍交互、家庭健康监护与教育陪练等对实时性与人格化有强需求的领域。MiniCPM-o 4.5作为该范式的代表性实现,以9B参数规模和llama.cpp轻量推理支持,在iPhone、MacBook Air等设备上达成真正可用的全 阅读详情

相关推荐

一周深度学习实战课:认知脚手架搭建与教学节奏控制

深度学习入门教学面临的核心矛盾,是知识复杂性与人类认知带宽的天然冲突。基于工作记忆容量限制(Miller定律)和神经网络可解释性需求,现代短周期AI课程必须从‘知识灌输’转向‘认知转译’——将反向传播具象为梯度流、把卷积核类比为图像滤镜、用Excel可视化损失曲面。这种以‘可操作、可观察、可修复’为准则的教学设计,本质上是面向零基础学习者的认知压缩工程,适用于高校短期选修课、企业AI通识培训及跨学科技术扫盲。本文聚焦真实课堂验证的72小时作战地图,覆盖数据加载、模型乐高化构建、梯度可视化、失败驱动评估与零配

dezhen7015的博客 457

欢乐暑假线上编程比赛第四题:分配糖果

题目详情 有n个小朋友站成一排(编号从0到n-1),每个小朋友有一个rating值,存放在ratings数组中。老师需要给他们分 配糖果,每个小朋友至少需要一颗糖果,对于任意相邻的两个小朋友i和i+1,rating值大的必须比rating值小的分 配的糖果多(rating相同的没必要分配一样多的糖果)。 请计算最少需要多少颗糖果,才能完成上述分配。 输入格式:

xiaobei1a2b3c的专栏 1309

Node.js图像处理为何首选Sharp:原理、线程与内存深度解析

图像处理是Web服务中高频且易出错的核心能力,其本质涉及像素级计算、内存生命周期管理与CPU并行调度。理解libvips流式处理架构和Sharp的零拷贝封装逻辑,是规避OOM、线程阻塞与元数据泄露的关键。Sharp通过静态链接依赖、FinalizationRegistry内存绑定、以及与libuv线程池协同的并发控制,实现了生产环境所需的确定性性能。它不提供DSL语法糖,而是将图像缩放、格式转换、EXIF清洗等操作映射为可监控、可降级、可缓存的工程原语。本文聚焦Node.js图像处理实战中的sharp.co

aoanping0730的博客 433

五一后遗症

睡不着那就跟自己聊聊天…… 现在的我已经在被子里躺了六小时了,可是睡意全无,崩溃ing…… 既然睡不着那就写点什么吧! 五一小长假结束了,据说将迎来非常忙碌的工作。六月要合TR4了,但是现在TR3依然有遗留问题,测试结果未知,不知道会有多少问题出现,希望能在掌控之中顺利完成。 接下来写写假期吧,假期第一天跟好朋友会师成功,去了徐汇日月光,吃了渝利火锅。女孩子喜欢的东西大概都会有火锅吧,哈哈哈,虽然喜欢但是却吃不了多少辣,据说少了很多好滋味。假期第二天,去了另一个商场,吃了成都你刘姐冒菜。她说很好吃,不光冒

ZI_LIN1的博客 444

Gemma 4技术解析:PLE、Shared KV Cache与多模态统一架构

大语言模型推理效率瓶颈长期制约端侧部署,核心症结在于静态嵌入、冗余KV缓存与模态割裂。Per-Layer Embeddings(PLE)通过层特异性动态信号注入,在不增加FLOPs前提下提升语义表达精度;Shared KV Cache以分层共享机制显著降低长上下文内存占用,实现显存与延迟双优化;结合全模态统一架构,Gemma 4将文本、视觉、语音三模态原生协同建模,支持2B级模型在MacBook Air等无GPU设备上实时响应。该范式正推动AI从云端中心化走向终端轻量化,为隐私敏感场景与边缘智能应用提供全新

weixin_30859423的博客 321

从Notebook到生产:ML模型推理服务架构与落地实践

机器学习模型部署不是简单封装API,而是涉及模型序列化、特征固化、GPU资源调度、可观测性与灰度发布的系统工程。其核心原理在于解耦协议层(如FastAPI)、推理层(如Triton Inference Server)与调度层(如Kubernetes Operator),以应对ML服务特有的高内存占用、计算密集性与隐式状态问题。技术价值体现在低延迟(P95<200ms)、高稳定性(P99延迟波动收窄4.6倍)和可运维性(MTTR从22分钟降至21秒)。典型应用场景包括实时风控、电商推荐与NLP在线服务,尤其适

weixin_30319153的博客 374

C语言--娱乐小游戏--快叫你身边的小伙伴也玩玩吧!!!

printf("星期三:已经到了约定时间可是你的女朋友还没好,你选择 1:等 还是 2:老子自己去看得了 \n");printf("星期四:你的女朋友遭到前男友纠缠,你想赶走前男友,请选择你的幸运数字1-10\n");printf("星期一:很不幸那天下起了大雨,由于你是直男,你并没有选择为女朋友挡雨\n");printf("你的女朋友邀请你到她家里做客,同意扣1,拒绝扣2\n");你压根就没有女朋友!printf("你发现你的女朋友是变态杀人魔\n");printf("你婉拒了女朋友的邀请\n");

weixin_72851285的博客 94

Android车载应用开发:Kotlin与Automotive OS深度实践

Android Automotive OS(AAOS)是Google专为车辆设计的操作系统,直接运行于车机硬件,提供完整的车载信息娱乐系统(IVI)。与Android Auto不同,AAOS允许开发者深度集成车辆硬件功能,如空调控制和传感器数据读取,同时遵循严格的驾驶安全规范。Kotlin作为开发语言,具备空安全设计、扩展函数和协程支持等优势,简化了开发流程。开发环境配置包括Android Studio、AAOS模拟器和Gradle配置,核心组件如CarAppService、Screen与模板系统,以及车辆

时小雨的专栏 3443

失业66天

作为年轻人,我们苦心经营的无非两样——爱情和事业,拥有一份甜蜜的爱情能够为发展事业提供动力;而具有良好的事业更能为爱情提供保障,又或是成为追求爱情的资本。   我们渴望着自己心仪的事业,或收入丰硕,或工作轻松,或增长见识,或结交人际。但是在很多时候,我们起初选择的工作并不是自己希望的,它们可能是走错的岔路,也可能是通往最终目标的阶梯。而在结束一份工作到选择一份新的工作的阶段这个必经过程就是失业

zhao_yin的记事本 2万+

从网格剖分到结果外推:一文拆解HFSS快速扫频(Fast Sweep)的底层逻辑与性能调优

本文深入解析了HFSS快速扫频(Fast Sweep)技术的底层逻辑与性能调优方法。通过ALPS算法实现频带外推,快速扫频相比离散扫频和插值扫频能提升3-5倍计算效率,特别适用于天线阵列、微波滤波器等宽频带分析场景。文章详细介绍了算法架构、参数优化策略及工程实践中的精度保障机制,帮助工程师高效完成电磁仿真。

weixin_28693447的博客 92

用Arduino和MAX30102做个心率血氧仪,从硬件连线到算法调试全流程避坑

本文详细介绍了如何使用Arduino和MAX30102传感器构建高精度心率血氧仪,涵盖硬件连线、软件配置、信号处理及算法优化全流程。通过实战案例和避坑指南,帮助开发者快速实现临床级精度的健康监测设备,适用于可穿戴设备和医疗健康领域。

weixin_26897585的博客 383

失业66天:一个入行两年的程序员真实写照

作为年轻人,我们苦心经营的无非两样——爱情和事业,拥有一份甜蜜的爱情能够为发展事业提供动力;而具有良好的事业更能为爱情提供保障,又或是成为追求爱情的资本。我们渴望着自己心仪的事业,或收入丰硕,或工作轻松,或增长见识,或结交人际。但是在很多时候,我们起初选择的工作并不是自己希望的,它们可能是走错的岔路,也可能是通往最终目标的阶梯。而在结束一份工作到选择一份新的工作的阶段这个必经过程就是失业...

455

ENVI遥感技术

记录2024.03.06所遇到的遥感问题

qq_44453923的博客 4330

收到offer,庆祝~

 S真是高效率,太nb了,佩服。第一周周五2009.06.05 16:26,在优快云上面看到jd,二话没说就发了cv。(介个不是我的风格啊,以前可是要详细的考察,然后再拖一拖,呵呵)。2009.06.05 17:00,半小时后(效率太高了),S的哥们就给我打电话,聊了10分钟的技术,看得出来对我还是非常感兴趣。2009.06.05,十几分钟后,hr小姑娘打电话,约我周一去面。我说

Hisense的专栏 1324

逆向实战:从x-mini签名到RPC调用,Frida动态分析小红书加密协议

本文通过实战案例,详细拆解了小红书App的加密协议逆向分析过程。从识别x-mini签名等关键参数入手,结合静态分析与Frida动态Hook技术,追踪到核心的RPC调用入口,并最终封装成可独立调用的RPC函数,为安全研究和协议理解提供了完整的技术路径。

moss5的博客 1028

【毕设全程指导】基于YOLOv8的包装商品检测与可视化系统(SKU110K实战)

本文介绍了一个基于YOLOv8的包装商品检测与可视化系统毕业设计方案。项目采用SKU110K数据集,通过CSV转TXT格式转换适配YOLO模型训练,包含详细的环境搭建、模型配置和训练流程。系统实现了包装商品的自动化检测,并开发了Tkinter可视化界面进行交互式检测展示。该方案结合产业应用需求与技术深度,既具备实用价值,又能充分展示学生的技术能力,适合作为计算机视觉相关专业的毕业设计选题。整个项目从数据准备到界面开发完整覆盖,帮助学生系统掌握目标检测项目的完整实现流程。

LXY_LOVE36的博客 145

PHP程序员工作的幸福感的庖丁解牛

维度核心来源心理机制一句话本质心流即时反馈,零摩擦意图与响应无缝连接改完即见,思行合一掌控全栈闭环,一人军队独立完成从 0 到 1我的地盘,我做主价值商业变现,务实致用看到代码变成金钱/价值不做虚功,只创实利文化包容互助,生态丰富归属感,站在巨人肩上拒绝傲慢,拥抱温暖生活高效闲暇,远程自由时间主权,工作生活平衡代码服务于生活,而非反之终极心法PHP 程序员的幸福感,是一种“返璞归真”的智慧。它不追求技术的极致复杂,而追求创造的极致流畅;

长风破浪会有时的博客 474

YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

m0_47867638的博客 1094

百合花的故事

<br />我已经不记得那男孩的样子了,而且我也不知道他的名字,他从没告诉过我。我不知道现在长大的他在做什么,是不是还记得那个夏天,可是我还记得。 <br />    在那条人流熙攘,灰尘飞扬的街上,我有一个小小的花店。从小我就梦想着自己有一间玻璃花屋,堆满色彩缤纷的花,阳光透过一尘不染的玻璃照进来,最重要 的,我要在花屋的中央,阳光里,放一张木头的小圆桌,然后用一个简单的没有装饰的玻璃花瓶装满满一花瓶的白色百合,而现在,我就坐在一屋子花的中间,下午 的阳光正照在百合花上。 <br />   我注

vincebessie的专栏 360

展锐平台wifi连接性问题解决方案

对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。

手机-手表蓝牙开发工程师的博客 2022

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

失业66天[转自csdn]

昨天看了《失恋33天》,今天早看了一篇文章叫做《失业66天》,写的蛮有意思,作为从事游戏事业的人员颇有感触。 http://blog.youkuaiyun.com/zhao_yin/article/details/7050923 作为年轻人,我们苦心经营的无非两样——爱情和事业,拥有一份甜蜜的爱情能够为发展事业提供动力;而具有良好的事业更能为爱情提供保障,又或是成为追求爱情的资本。 我们渴...

weixin_30485799的博客 277

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

轻量化多智能体系统实战:Phi-3驱动的本地化AI创业验证框架

多智能体系统(Multi-Agent System)作为大模型落地的关键范式,正从概念走向工程化实践。其核心原理在于将复杂任务解耦为可验证、可调度、可审计的专用角色协作,而非依赖单一大模型的通用推理。技术价值体现在可控性提升、数据隐私保障与推理成本下降——尤其适合边缘设备与中小企业场景。典型应用场景包括创业点子验证、SaaS产品定位分析、本地化市场扫描及自动化商业建模等。本文聚焦轻量化实现路径,以Phi-3系列模型为能力锚点,结合Orchestrator调度中枢与结构化工具链,构建不联网、低内存、高确定性的

weixin_34208283的博客 544

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Unity为啥不使用继承?——一场“血统枷锁“的技术反思

从"程序员的噩梦",到"继承的六大困境",到"组合的降维打击",到"世界观的哲学之选"——Unity拒绝继承的选择——不是意气用事——而是一场深思熟虑的技术革命它拒绝了**"组合爆炸"的失控**它拒绝了**"僵化血统"的枷锁**它拒绝了**"脆弱基类"的隐患**它拒绝了**"横向共享"的窘迫**它拒绝了**"多重继承"的死局**它拒绝了**"难以变化"的宿命**它选择了一种极简的世界观——一种灵活的组合方式——自由拼装一种平等的哲学——没有血统的贵贱。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1562
上一篇: C++之 string学习
下一篇: Leetcode 面试题 02.03. 删除中间节点
Neepu_G.job
博客等级 码龄8年 7粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值