【C++】C++中的assign函数详解
目录
一.assign函数是什么
二.assign函数怎么用
一.assign函数是什么
在C++中, assign 是 std::string 类的一个成员函数,用于给字符串对象赋值,可以替换字符串对象中的内容为另一个字符串或字符串的一部分。 std::string 的 assign 函数有多个重载版本,允许不同的赋值方式。
基本用法
以下是 std::string 类 assign 函数的一些常见用法:
1. 替换为另一个字符串:
std::string str1;
std::string str2 = "Hello World";
str1.assign(str2); // str1 现在包含 "Hello World"
2. 替换为字符串的一部分:
std::string str = "Hello World";
std::string part;
part.assign(str, 6, 5); // part 现在包含 "World" (从索引6开始,长度为5)
3. 替换为字符的重复序列:
std::string repeated;
repeated.assign(10, 'a'); // repeated 现在包含 "aaaaaaaaaa"
函数原型
以下是 std::string::assign 的几种函数原型:
void assign(const std::string& str); void assign(const std::string& str, size_type pos, size_type len = npos); void assign(const char* s, size_type n); void assign(const char* s); void assign(size_type n, char c);
参数说明
第一个版本接受一个 std::string 对象作为参数,将当前字符串对象的内容替换为传入字符串的内容。
第二个版本接受一个 std::string 对象、一个起始位置 pos 和一个长度 len 作为参数,将当前字符串对象的内容替换为传入字符串从 pos 开始的 len 个字符的子串。如果 len 被设置为 std::string::npos (这是 std::string 类的一个特殊值,表示直到字符串的末尾),则子串将从 pos 开始一直到传入字符串的末尾。
第三个和第四个版本接受一个C风格的字符串 s 和一个长度 n 或者整个字符串,将当前字符串对象的内容替换为C字符串的前 n 个字符或整个字符串。
最后一个版本接受一个字符 c 和一个数量 n ,将当前字符串对象的内容替换为字符 c 重复 n 次的序列。
二.assign函数怎么用
示例代码
#include <iostream>
#include <string>int main() {std::string original = "Original string";std::string copy;// 完全赋值copy.assign(original);std::cout << "Assigned string: " << copy << std::endl;// 部分赋值copy.assign(original, 5, 6); // 从索引5开始,长度为6std::cout << "Assigned substring: " << copy << std::endl;// 重复字符赋值copy.assign(10, '*');std::cout << "Assigned repeated characters: " << copy << std::endl;return 0;
}
使用 assign 方法可以灵活地对 std::string 对象进行赋值操作,无论是整体替换,部分替换,还是创建重复字符的序列。
相关文章:
【C++】C++中的assign函数详解
目录 一.assign函数是什么 二.assign函数怎么用 一.assign函数是什么 在C中, assign 是 std::string 类的一个成员函数,用于给字符串对象赋值,可以替换字符串对象中的内容为另一个字符串或字符串的一部分。 std::string 的 assign 函…...
Hadoop3:MR程序的数据倾斜问题处理
一、数据倾斜 什么是数据倾斜? 学过Redis集群的都知道数据倾斜这个问题。 就是大量数据,分配不均匀的现象。 二、MR数据倾斜 1、怎么判断出现数据倾斜? 数据频率倾斜——某一个区域的数据量要远远大于其他区域。 数据大小倾斜——部分记…...
Mojo 编程语言简介
Mojo 是一种新兴的编程语言,旨在结合 Python 的易用性与 C 的高性能,特别是面向高性能计算、机器学习和系统编程等领域。Mojo 的设计目标是提供一种既具备高级语言灵活性,又能够高效运行的编程工具。 主要特性 高性能:通过高级编…...
【有效验证】解决SQLyog连接MYSQL的错误 1251 - Client does not support
目录 一、原因分析: 二、进入到mysql 三、查看当前加密方式 四、更改加密方式 五、查看是否成功 前言:使用一个开源软件使用sqlyog、navcat都报1251错误,网上都是提示升级客户端,还有一种就是修改mysql配置。本文就是修改配置…...
Keka for Mac v1.4.3 中文下载 解压/压缩工具
Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试1、打开软件2、文件访问权限修改3、访达扩展 安装完成!ÿ…...
springboot3.2 RedisCacheManager配置
1、启用并配置 添加 EnableCaching 注解 并配置 RedisCacheManager package config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import c…...
IP地址与MAC地址区别
MAC地址和IP地址是现代计算机网络中两个非常重要的概念,它们各自承担着不同的角色和功能。 MAC地址(Media Access Control Address) 一种物理地址,它是烧录在网卡或接口上的,具有全球唯一性,一般不能被改…...
Linux chmod 命令简介
在Linux中,chmod 命令用于改变文件或文件夹的访问权限。要改变一个文件夹及其内部所有文件和子文件夹的权限,您可以使用递归选项 -R。以下是一些常用的 chmod 命令示例: 给所有用户读、写和执行权限: chmod -R 777 /path/to/direc…...
【LeetCode】删除排序链表中的重复元素 II
目录 一、题目二、解法完整代码 一、题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5] 示例 …...
Pandas使用 `iloc` 和 `loc` 常见用法汇总
文章目录 df.iloc 常见用法1. 获取特定行2. 获取特定列3. 获取特定的行和列4. 获取行切片5. 获取列切片6. 获取特定的行和列切片 df.loc 常见用法1. 获取特定行2. 获取特定列3. 获取特定的行和列4. 获取行切片5. 获取列切片6. 获取特定的行和列切片 示例代码 df.iloc 和 df.lo…...
【linux服务器】大语言模型实战教程:LLMS大模型快速部署到个人服务器
🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 说到大语言模型相信大家都不会陌生,大型语言模型(LLMs)是人工智能文本处理的主要类型,也现在最流行的人工智能…...
Windows 32 汇编笔记(二):使用 MASM
一、Win32 汇编源程序的结构 ; Hello.asm ; 使用 Win32 ASM 写的 Hello, world 程序 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>…...
手机和电脑通过TCP传输(一)
一.工具 手机端:网络调试精灵 电脑端:野火网络调试助手 在开始通信之前,千万要查看一下电脑的防火墙是否关闭,否则可能会无法通信 在开始通信之前,千万要查看一下电脑的防火墙是否关闭,否则可能会无法通信…...
Sentinel规则持久化Push模式两种实现方式
文章目录 sentinel持久化push推模式微服务端的实现具体实现源码分析读数据源写数据源的实现 微服务端解析读数据源流程 修改源码的实现官方demo修改源码实现配置类flowauthoritydegreadparamsystemgateway修改源码 测试补充 前置知识 pull模式 sentinel持久化push推模式 pull拉…...
Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解
1. 引言 在微服务架构中,服务的弹性是非常重要的。Resilience4j 是一个轻量级的容错库,专为函数式编程设计,提供了断路器、重试、舱壁、限流器和限时器等功能。 这里不做过多演示,只是查看一下官方案例并换成maven构建相关展示&…...
Hadoop3:MR程序压测实验
一、环境要求 内存:128G CPU:32C 磁盘:8T 注:一个虚拟机不超过150G磁盘尽量不要执行这段代码 二、案例 1、需求 使用Sort程序评测MapReduce 2、操作步骤 1、使用RandomWriter来产生随机数,每个节点运行10个Map任…...
初学者如何通过建立个人博客盈利
建立个人博客不仅能让你在网上表达自己,还能与他人建立联系。通过博客,可以创建自己的空间,分享想法和故事,并与有相似兴趣和经历的人交流。 本文将向你展示如何通过建立个人博客来实现盈利。你将学习如何选择博客主题、挑选合适…...
构建稳健性:如何在Gradle中配置构建失败时的行为
构建稳健性:如何在Gradle中配置构建失败时的行为 在软件开发过程中,构建失败是不可避免的。然而,如何优雅地处理构建失败并从中恢复,是提高开发效率和软件质量的关键。Gradle,作为一款强大的构建工具,提供…...
大语言模型-基础及拓展应用
一、基础模型 1、Transformer 2、bert 3、gpt 二、大语言模型 三、句子向量 四、文档解析 1、通用解析 2、docx解析 3、 pdf解析 4、pptx解析 五、向量数据库...
STM32使用Wifi连接阿里云
目录 1 实现功能 2 器件 3 AT指令 4 阿里云配置 4.1 打开阿里云 4.2 创建产品 4.3 添加设备 5 STM32配置 5.1 基础参数 5.2 功能定义 6 STM32代码 本文主要是记述一下,如何使用阿里云物联网平台,创建一个简单的远程控制小灯示例。 完整工程&a…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解
一、前言 在HarmonyOS 5的应用开发模型中,featureAbility是旧版FA模型(Feature Ability)的用法,Stage模型已采用全新的应用架构,推荐使用组件化的上下文获取方式,而非依赖featureAbility。 FA大概是API7之…...
