C++【string类】(一)

C++【string类】(一)

string类

1.为什么要学string?

在C语言中字符出串是以‘/0’结尾的一些字符的结合,为了操作方便,C标准库中提供了一些str类库函数,但是这些库函数与字符串时分隔开的,不符合OOP(面向对象编程)的思想,并且底层空间需要用户自己管理,可能会越界访问。

2.标准库类型的string类

标准库类型string表示可变长的字符序列,使用string类型必须包含string头文件。作为标准库的一部分,string定义在命名空间std中。

#include<string>usingnamespace std;

2.1 string类的构造

  • string类的构造
在这里插入图片描述


string常见的构造

#include<iostream>#include<string>usingnamespace std;//class string//{// char* _str;// size_t _size;// size_t _capaicty;//};//底层实现intmain(){ string s1;//无参的构造 string s2("hello wrold");//带参的构造 string s3 ="hello world";//带参的构造 string s4(s3);//拷贝构造 string s5(10,'#');//多个字符构造return0;}

2.2string类的析构

在这里插入图片描述


string类的析构出了作用域自动调用,把string内的资源进行释放。

2.3读写string类

#include<iostream>#include<string>usingnamespace std;intmain(){ string s;//空字符串 cin >> s;//将string对象读入s cout << s << endl;//输出sreturn0;}

2.4string类的赋值重载

在这里插入图片描述
#include<iostream>#include<string>intmain(){ std::string str1, str2, str3; str1 ="Test string: ";// c-string str2 ='x';// single character str3 = str1 + str2;// string std::cout << str3 <<'\n';return0;}

2.5string的遍历

在这里插入图片描述
#include<iostream>#include<string>#include<vector>#include<list>usingnamespace std;voidtest_string(){ string s1("hello world"); s1[0]++; cout << s1 << endl; s1[0]='x'; cout << s1 << endl;// 遍历1// 下标+[]for(size_t i =0; i < s1.size(); i++){ s1[i]++;} cout << s1 << endl;for(size_t i =0; i < s1.size(); i++){ cout << s1[i]<<" ";} cout << endl; cout << s1.size()<< endl;//遍历2//迭代器 string::iterator it = s1.begin();while(it != s1.end()){(*it)--;++it;} cout << endl; it = s1.begin();while(it != s1.end()){ cout <<*it <<" ";++it;} cout << endl;}voidtest_string2(){ string s("hello world"); vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); list<int> lt; lt.push_back(10); lt.push_back(20); lt.push_back(30); lt.push_back(40);reverse(s.begin(), s.end());reverse(v.begin(), v.end());reverse(lt.begin(), lt.end());for(auto& e : s){ e--;}//for (auto e : s)for(char e : s){ cout << e <<" ";} cout << endl;char x ='a';// for (auto x : v)for(int x : v){ cout << x <<" ";} cout << endl;for(auto e : lt){ cout << e <<" ";} cout << endl;}intmain(){return0;}

Read more

π0源码(openpi)剖析——从π0模型架构的实现:如何基于PaLI-Gemma和扩散策略去噪生成动作,到基于C/S架构下的模型训练与部署

π0源码(openpi)剖析——从π0模型架构的实现:如何基于PaLI-Gemma和扩散策略去噪生成动作,到基于C/S架构下的模型训练与部署

前言 ChatGPT出来后的两年多,也是我疯狂写博的两年多(年初deepseek更引爆了下),比如从创业起步时的15年到后来22年之间 每年2-6篇的,干到了23年30篇、24年65篇、25年前两月18篇,成了我在大模型和具身的原始技术积累 如今一转眼已到25年3月初,时光走得太快,近期和团队接了好几个大客户订单,使得3月起 不得不全力加速落地,自己也得每天抠paper、搞代码 so,为何在明明如此之忙 一天当两天用的情况下,还要继续努力更新博客呢? 原因在于 1. 二方面,我司「七月在线」在做一系列工厂落地场景的过程中,我们也希望团结到可以和我们一块做的朋友,而若想团结,便需要借助博客 顺带分享我们每个季度在重点做的业务场景 一方面,我确实喜欢分享,因为写博的这10多年下来 确实可以帮到很多、很多人,不然本博客也不会有如今如此巨大的访问量与影响力 更何况有些文章是之前既定计划中的,在本文之前,上一篇关于π0的文章是π0_fast《π0开源了且推出自回归版π0-FAST——打造机器人动作专用的高效Tokenizer:比扩散π0的训练速度快5倍但效果相当》,文中提到,会解读

By Ne0inhk
GPU服务器深度解析:H100/H200的“机头”与“模组”架构详解

GPU服务器深度解析:H100/H200的“机头”与“模组”架构详解

在高端AI服务器的世界里,NVIDIA的DGX系列服务器(如A100、H100、H200)采用了一种高度集成的模块化架构。理解这种架构对于AI基础设施的规划、运维和优化至关重要。本文将深入解析“机头”和“模组”这两个核心概念,以及完整GPU服务器的各个组成部分。 一、机头:GPU服务器的“大脑与中枢神经系统” 1. 机头是什么? 核心定义:机头是服务器中不包含GPU的核心计算和系统控制部分。可以将其想象成一台“没有GPU的超级主板”,它负责整个系统的调度、管理、网络和基础计算任务。 设计理念:通过将计算控制与GPU计算分离,实现更好的热管理、电源分配和维护性。 2. 机头的详细构成 2.1. GPU服务器机头子系统技术规格详表 子系统技术规格具体配置与特性性能指标CPU子系统处理器配置• 通常配备2颗高性能服务器级CPU • Intel Xeon Scalable系列(如Platinum 8480+) • AMD EPYC系列(如EPYC 9754)• 单CPU可达64核甚至更多 • 提供充足的PCIe通道和内存带宽主板与芯片组定制化设计• 专门为高密度GPU计

By Ne0inhk
2026年终极指南:10款网络爬虫工具深度对比,避开选型那些坑

2026年终极指南:10款网络爬虫工具深度对比,避开选型那些坑

前言 在数据驱动的2026年,网络爬虫早已从程序员的“黑科技”变成了企业标配的数据基础设施。无论是训练AI模型、监控竞品价格,还是做市场舆情分析,都离不开稳健的爬虫。 但当我们打开搜索引擎,面对Scrapy、Selenium、Bright Data、Octoparse等琳琅满目的工具时,很容易陷入**“选择困难症”**,本文我将深度评测10款2026年最具代表性的网络爬虫工具。从开源利器到企业级战舰,不谈虚的,直接上代码、比性能、算成本,帮你找到最适合自己的那一款。 不想看完整篇?看这里 你的情况 推荐工具 理由 学习爬虫技术 Scrapy / Playwright 免费,学习价值高 非技术人员,偶发需求 Octoparse 无代码,上手快 企业级、高难度网站、需要稳定交付 Bright Data Web Scraper API 按成功付费,零维护,8500万IP

By Ne0inhk
2026最新版Node.js下载安装及环境配置教程【超详图文】

2026最新版Node.js下载安装及环境配置教程【超详图文】

目录 第一步:下载安装包 第二步:安装 第三步:环境配置 第四步:测试 第五步:安装淘宝镜像 第六步:我的安装配置 本机环境: Windows 10 专业版 X64 第一步:下载安装包 1. 下载地址 Node.js 官方网站下载 https://nodejs.org/zh-cn/download/https://nodejs.org/zh-cn/download/ https://nodejs.org/en/downloadhttps://nodejs.org/en/download2. 选择版本 选择 【LTS】 版本的,【LTS】 是长期支持版,

By Ne0inhk