string对象的操作 string::size_type类型_string::size_type 如何使用_舒夜潇潇忆情的博客-程序员秘密

s.empty()      如果s为空串,则返回true,否则false

s.size() 返回s中字符的个数

s[n]  返回s中位置为n的字符,位置从0开始计数

s1+s2                    把s1和s2连接成一个新的字符串,返回新生成的字符串

s1  = s2  把s1内容替换为s2的副本

v1 == v2   比较v1和v2的内容,相等返回true,否则false


1.size操作返回的是string::size_type类型的值。

string类类型和许多其他库类型都定义了一些配套类型。通过这些配套类型,库类型的使用就能与机器无关。

size_type类型定义为与unsigned型(unsigned int 或 unsigned long)具有相同含义。且可以保证足够大能够存储任意string对象的长度。

注:任何存储string的size操作结果的变量必须为string::size_typel类型。特别重要的是,不要把size的返回值赋给一个int变量。

虽然我们不知道string::size_type的确切类型,但可以知道它是unsigned型。对于任意一种给定的数据类型,它的unsigned型所能表示的最大正数值比对应的signed型要大一倍。这个事实表明size_type存储的string长度是int所能存储的两倍。

有些机器上int变量的表示范围太小,如16位的int型机器上,int类型变量最大只能表示32767个字符的string对象。

为了避免溢出,保存一个string对象size的最安全的方法就是使用标准库类型string::size_type


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chenzhen1213/article/details/40980449

智能推荐

【BZOJ 1191】[HNOI2006]超级英雄Hero_adgnfega11455的博客-程序员秘密

【链接】 我是链接,点我呀:) 【题意】在这里输入题意 【题解】二分图的最大匹配。因为要答下一题,这一题必须先答完。所以如果某道题没有匹配了。那么就直接break掉。 【代码】#include <bits/stdc++.h>#define LL long long#define rep1(i,a,b) for (int i = a;i &l...

一文详解 如何用 R 语言进行卡方检验。_卡方检验r语言_小风alter的博客-程序员秘密

本篇文章主要介绍如何用R语言进行 卡方检验,将按以下顺序进行介绍。一、卡方检验基本概念1、基本原理:卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。注意:卡方检验针对分类变量。2、常见用途:检验两个变量之间是否有关系,比如机器学习中的特征选择,以及医学领域(这块我不了解~~)。3、计算公式:3.1通用公式:obser

python os.mkdir os.makedirs_achacuo3822的博客-程序员秘密

1.mkdir( path [,mode] ) 作用:创建一个目录,可以是相对或者绝对路径,mode的默认模式是0777。 如果目录有多级,则创建最后一级。如果最后一级目录的上级目录有不存在的,则会抛出一个OSError,例如: import osos.mkdir( './image' ) # successful# if ./download exits...

永久设置全局变量_aningxiaoxixi的博客-程序员秘密

A export 设置环境变量,export的效力仅及于该次登录操作。B 如果没有export 那么变量 就只在当前 shell 终端 才管用 ,成为用户变量。C PATH 环境变量 不同的路径是用冒号 : 分割开的。1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变...

SSD_Tensorflow模型loss不收敛_ssd训练模型一直不收敛_weixin_42163609的博客-程序员秘密

第一次发~主要是解决初学者使用SSD-TensorFlow不收敛的问题。SSD-TensorFlow下载地址加载模型对图片进行测试许多初学者在训练时会发现SSD-TensorFlow的loss非常大的问题,其实github里已有人找到这个问题并解决了。具体做法是将nets->ssd_vgg_300.py的637-647行,如下代码 # Add cross-entropy ...

ElasticSearch六--ES--Analyzer分词_Thepatterraining的博客-程序员秘密

Analyzer分词Analysis 和 AnalyzerAnalysis - 文本分析是把全文本转换成一系列单词(term/token)的过程,也叫分词Analysis 是通过 Analyzer 来实现的可使用 Elasticsearch 内置的分析器,或者按需制定分析器除了在数据写入时转换词条,匹配 Query 语句时候也需要用相同的分析器对查询语句进行分析Analyzer 的组成分词器是专门处理分词的组件,由三部分组成Character Filters (针对原始文本处理,例如去

随便推点

Flutter自定义实现神奇动效的卡片切换视图_chuochongliu8145的博客-程序员秘密

前言这一段时间,Flutter的势头是越来越猛了,作为一个Android程序猿,我自然也是想要赶紧尝试一把。在学习到动画的这部分后,为了加深对Flutter动画实现的理解,我决定把之前写的一个卡片切换效果的开源小项目,用Flutter“翻译”一遍。废话不多说,先来看看效果吧:An...

MySQL(一)—— 数据库概述_mysql数据库概述_大彤小忆的博客-程序员秘密

1. 数据库概述1.1 基本概念1.2 安装MySQL数据库管理系统1. 数据库概述1.1 基本概念  数据库(DataBase,简称DB)是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。  数据库系统(DataBase System,简称DBS),是由数据库及其管理软件组成的系统。数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质.

scala的stream流_tydhot的博客-程序员秘密

Scala的流的实现在Stream中。主要用到的实现类是Cons类。@SerialVersionUID(-602202424901551803L)final class Cons[+A](hd: A, tl: => Stream[A]) extends Stream[A] { override def isEmpty = false override def head =...

HDU 4296 Buildings(12年成都网络赛-I题-贪心)_hdu4296_nyist_xiaod的博客-程序员秘密

题目链接:Click here~~题意:有 n 个地板,每个地板 i 有两个权值 Wi, Si,且 PDV(i) =  (ΣWj) - Si ( j 表示在 i 上面的地板)。问如何调整顺序,使得【max(PDV)】最小。解题思路:假设现在有 i、j 两个地板需要安排顺序。若 i 在上,Pi = -Si,Pj = Wi - Sj。若 j 在上

WEB-CTF 条件竞争_ctf条件竞争_iamsongyu的博客-程序员秘密

如何来形容这个类型的问题呢,就像是幼儿园发糖吃,每个人只能拿一块,但是如果你跟别人一起再拿一次老师也没办法分辨,毕竟一群小朋友老师也没办法分辨手和对应的人。关于部分的Burpsuite使用的知识,在前面的https://blog.csdn.net/iamsongyu/article/details/82989478中已经讲了,就不在赘述 这是一个好文章,从上边摘抄和借鉴了不少htt...

3172: [Tjoi2013]单词_cx_lzx的博客-程序员秘密

3172: [Tjoi2013]单词Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 3981  Solved: 1934[Submit][Status][Discuss]Description某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。Input

推荐文章

热门文章

相关标签