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

关于string类的构造函数

一、string(const char* s, size_type n, const Allocator & a=Allocator());
这个构造函数接受一个C风格字符串,并指定复制这个C风格字符串的n个字符作为该string对象的内部数据成员;
这里就是需要注意一下,当n大于s的长度的时候,string对象会继续获取s后面的内存区域的值,所以这里调用该string的size()方法的时候会返回n;

二、string(const string & st, size_type pos, size_type n, const Allocator & a=Allocator());
这个构造函数接收一个string对象的引用,为了方便起见,这里将pos参数设置为0,如果n大于st的长度的时候,string对象只会获取到st长度的数据,不会继续往后面的内存区获取数据,所以该string对象的size()方法返回n和st.size()较小的那个;

代码:

#include <iostream>
#include <string>int main()
{using namespace std;string s1("manba");string s2("manba", 100);string s3(s1, 0, 100);cout << "size of s1: " << s1.size() << endl;cout << "size of s2: " << s2.size() << endl;cout << "size of s3: " << s3.size() << endl;return 0;
}

结果:

size of s1: 5
size of s2: 100
size of s3: 5
http://www.xdnf.cn/news/4099.html

相关文章:

  • 【C++进阶十】多态深度剖析
  • Paramiko源码深入解析
  • 2025年PMP 学习四
  • Monster Hunter Rise 怪物猎人 崛起 [DLC 解锁] [Steam] [Windows SteamOS]
  • MySQL基础关键_008_DDL 和 DML(一)
  • linux、window安装部署nacos
  • STC单片机与淘晶驰串口屏通讯例程之02【HDMI数据处理】
  • LangChain构建大模型应用之Chain
  • APP 设计中的色彩心理学:如何用色彩提升用户体验
  • 模型训练实用之梯度检查点
  • 二重指针和二维数组
  • 深入理解 Cortex-M3 的内核寄存器组
  • 学习笔记msp430f5529lp
  • AI向量检索
  • 【前缀和】连续数组
  • 支持图文混排的Gemini Next Chat
  • Linux 系统下VS Code python环境配置!
  • GPU性能加速的隐藏魔法:Dual-Issue Warp Schedule全解析
  • 国内短剧 vs. 海外短剧系统:如何选择?2025年深度对比与SEO优化指南
  • 高并发内存池------threadcache
  • WebService的学习
  • 电子邮件相关协议介绍
  • NetSuite 2025.1 学习笔记
  • Java基础学完,继续深耕(0505)Linux 常用命令
  • TS 类class修饰符
  • 接口测试过程中常见的缺陷详解
  • Go小技巧易错点100例(三十)
  • 算法刷题篇
  • 基于Redis实现优惠券秒杀——第3期(分布式锁-Redisson)
  • UniGetUI 使用指南:轻松管理 Windows 软件(包括CUDA)