(18)C++ string和标准模板库
一、stringl类
1.string构造函数
string a1("abc");//初始化字符串
cout<<a1<<endl;//abc string a2(, '#');//n个字符
cout << a2 << endl;//###### string a3(a1);//复制
cout << a3 << endl;//abc char c[] = "hello";
string a4(c,);//从起始截取前n个字符
cout << a4 << endl;//hel string a5(c+,c+);//截取一段字符串
cout << a5 << endl;//el string a6(c, ,);//从n1开始截取n2个
cout << a6 << endl;//ell
2.字符串输入
#include<iostream>
#include<string>
using namespace std; int main() { //string str1;
//cin >> str1;//输入字符串方法1
//cout << str1 << endl; string str2;
getline(cin, str2);//输入字符串方法2
cout << str2 << endl;
}
3.使用字符串
(1)比较字符串 比较ASCII码
int a = ;
if ('abc' > 'daaa') {
a = ;
}
else {
a = -;
}
cout << a << endl;
(2)字符串长度
string a = "abc";
cout << a.length() << endl;
cout << a.size() << endl;
(3)查找
查找是否包含此字符串,有则返回首字符索引,没有返回 npos
string a = "aabc";
cout << a.find("bc111")<<endl;
npos表示字符串可存储的最大字符数
二、智能指针模板类
智能指针定义后,离开代码块指针将过期
auto_ptr<string> str(new string);//C++98方式,过时
unique_ptr<string> str(new string);//C++11 一般使用这个
shared_ptr<string> str(new string);//C++11 如果多个指针指向同一个对象,用这个
三、标准模板库
(18)C++ string和标准模板库的更多相关文章
- C++ primer plus读书笔记——第16章 string类和标准模板库
第16章 string类和标准模板库 1. string容易被忽略的构造函数: string(size_type n, char c)长度为n,每个字母都为c string(const string ...
- C++——string类和标准模板库
一.string类 1.构造函数 string实际上是basic_string<char>的一个typedef,同时省略了与内存管理相关的参数.size_type是一个依赖于实现的整型,是 ...
- C++标准模板库Stand Template Library(STL)简介与STL string类
参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...
- 标准模板库(STL)学习指南之sort排序
对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思 ...
- 标准模板库(STL)学习指南之List链表
本文转载自天极网,原文地址:http://www.yesky.com/255/1910755.shtml.转载请注明 什么是STL呢?STL就是Standard Template Library,标准 ...
- STL标准模板库(简介)
标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...
- 【转】C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...
- 【c++】标准模板库STL入门简介与常见用法
一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部 ...
- STL 简介,标准模板库
这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL. 当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...
随机推荐
- Nuget-Doc:Nuget 简介
ylbtech-Nuget-Doc:Nuget 简介 1.返回顶部 1. NuGet 简介 2019/05/24 适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建.共享和 ...
- drf:筛选,序列化
1.基础 restful规范: - url:一般用名词 http://www.baidu.com/article (面向资源编程) - 根据请求方式的不同做不同操作:get,post,put,dele ...
- js实现的页面加载完毕之前loading提示效果
页面加载readyState的五种状态 原文如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loadin ...
- USACO 6.3 章节 你对搜索和剪枝一无所知QAQ
emmm........很久很久以前 把6.2过了 所以emmmmmm 直接跳过 ,从6.1到6.3吧 Fence Rails 题目大意 N<=50个数A1,A2... 1023个数,每个数数值 ...
- 启动项目时出现Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (72)
前几天趁假期重新装了一次系统,重新安装各种配置之后再启动项目的时候就报这个错误 第一反应就是去搜这个错误怎么解决,搜来搜去基本上都是让我重新安装node-sass,但我重装node-sass的时候又出 ...
- Vue中src属性绑定的问题
地址:https://blog.csdn.net/qq_25479327/article/details/80082520 地址:https://blog.csdn.net/sinat_3655513 ...
- centos 7 设置开机启动脚本
vi /etc/rc.d/rc.local 在末尾追加 sh脚本 sh脚本要提前赋予执行权限 下面是测试,开机同步北京时间 [root@commonTest bin]# vi /usr/local/b ...
- C++中的赋值兼容性和重写
1,父子间的赋值兼容: 1,子类对象可以当做父类对象使用(赋值兼容性): 1,子类对象可以直接赋值给父类对象: 2,子类对象可以直接初始化父类对象: 3,父类指针可以直接指向子类对象(得到的是子类对象 ...
- 强烈推荐一款功能强大的Tomcat 管理监控工具
专注于Java领域优质技术号,欢迎关注 原创: 侯树成 Tomcat那些事儿 启动 Tomcat完毕 ,有些时候总会打开浏览器 http://localhost:8080/ 去验证你的Tomcat是否 ...
- 2019HDU多校训练第三场 Planting Trees 暴力 + 单调队列优化
题意:有一个n * n的网格,每个网格中间有一颗树,你知道每棵树的高,你可以选择一个矩形区域把里面的树都围起来,但是矩形区域里面任意两棵树的高度差的绝对值不超过m,问这个矩形的最大面积是多少? 思路: ...