关键词:
3.1 命名空间的using声明
std::cin 表示从标准输入中读取内容。此处使用作用域操作符(::)表示:编译器从操作符左侧名字所示的作用域中寻找右侧那个名字。
而使用using声明是最安全的一种方法。
using 声明具有如下格式:
using namespace::name;
例如:
#include <iostream>
using std::cin;
int main()
{
int i;
cin>>i; //cin和std::cin含义相同
cout<<i; //错误,没有对应的using声明
std::cout<<i;
return 0;
}
3.2 标准库类型 string
标准库类型string 表示可变长的字符序列,使用string 类型必须包含string头文件。作为标准库的一部分,string定义在命名空间std中。
#include <string>
using std::string;
3.2.1 定义和初始化string对象
string s1; //s1是一个空字符串
string s2(s1); //s2是s1的副本
string s2=s1; //等价于s2(s1)
string s3("value"); //s3是字面值“value”的副本,除了字面值最后面的那个空字符外
string s3="value"; //等价于s3(“value”)
string s4(n,‘c‘); //把s4初始化为由连续n个字符c组成的串
使用=是拷贝初始化,其他是直接初始化。
3.2.2 string 对象上的操作
os<<s //将s写到输出流os当中,返回os
is>>s // 从is中读取字符串赋给s,字符串以空白分隔,返回is
getline(is,s) //从is中读取一行赋给s,返回is
s.empty() //s为空返回true,否则返回false
s.size() //返回s中字符个数
s[n] //返回s中第n个字符的引用,位置n从0计起
s1+s2 //返回s1和s2连接后的结果
s1=s2 //用s2 的副本代替s1 中原来的字符
s1==s2 //string 对象的相等性判断对字母 的大小写敏感
s1!=s2
<,<=,>,>=
读写string
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string s;
cin>>s; //执行读取操作时,string对象会自动忽略开头的空白(即空格符、换行符、制表符),从第一个真正的字符开始读,直到遇见下一处空白
cout<<s<<endl; //如果输入的是 “ Hello World!”,输出是Hello
return 0;
}
如果想保留空白符,则需要用getline()。getline只要遇到换行符就结束读取操作并返回结果。
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
string word;
while (getline(cin,word)) //从输入中读取字符,放入word中,并返回cin
{
cout << word << endl;
}
return 0;
}
第一二三章绪论复合类型字符串向量和数组
constexpr和常量表达式:指值不会改变并且在编译过程就能得到计算结果得表达式 1.auto一般会忽略 decltype类型指示符:目的是从表达式的类型... 查看详情
c++字符串向量和数组的一些术语
C++字符串、向量和数组的一些术语前言一、术语总结前言string和vector是两种最重要的标准库类型。string对象是一个可变长的字符序列,vector对象是一组同类型对象的容器。迭代器允许对容器中的对象进行间接访问,... 查看详情
c++字符串向量和数组的一些术语
C++字符串、向量和数组的一些术语前言一、术语总结前言string和vector是两种最重要的标准库类型。string对象是一个可变长的字符序列,vector对象是一组同类型对象的容器。迭代器允许对容器中的对象进行间接访问,... 查看详情
c++字符串向量和数组的一些术语
C++字符串、向量和数组的一些术语前言一、术语总结前言string和vector是两种最重要的标准库类型。string对象是一个可变长的字符序列,vector对象是一组同类型对象的容器。迭代器允许对容器中的对象进行间接访问,... 查看详情
一次性创建和初始化向量数组
...【发布时间】:2010-06-1718:46:10【问题描述】:要创建一个字符串数组,这是可行的:std::stringarray[]="first","second",:"last";如果我尝试对向量做同样的事情,它就行不通:std::vector<int>array[]=1,2,3,4,5:9;我 查看详情
将文件存储在数组和向量中
...:37【问题描述】:我一直在试图弄清楚如何将txt文件中的字符串和双精度数存储在数组和向量中,但我就是想不通。我做了很多研究,但没有找到可以向我解释的东西。基本上,我的任务是从包含用户名密码和这种格式的货币或... 查看详情
练笔-字符串,向量和数组6
1迭代器的使用迭代器是一种访问容器元素的通用机制,与指针类型相似,迭代器也提供了对对象的间接访问。使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另一个元素。其中迭代器有两种类型,一种是cbegin,cend... 查看详情
第3章字符串向量和数组(代码片段)
1-getline()使用usingstd::getline;intmain()for(stringstr;getline(cin,str);cout<<str<<endl);return0;2-理解for循环开头的执行顺序1->2->3intmain()for(stringstr/*1*/;cin>>str/*2*/;cout<< 查看详情
Crypto.js 用字节数组中的密钥和 iv(向量)解密
...:2016-02-1302:54:56【问题描述】:我必须解密一些AES加密的字符串。示例加密字符串:129212143036071008133136215105140171136216244116我有一个密钥,以及一个以字节数组格式提供给我的向量(iv):键: 查看详情
2017.11.12
...意的字符。输出描述:对于每组输入,请输出一行反序后的字符串。具体可见样例。示例1输入UpincvYjWJpwcXOA输出nipUjYvcwpJWAOXc #include<iostream>#include<string>#include 查看详情
2017.11.12
...化进入编辑模式o:新起一行进入编辑模式s:删除光标所在字符进入编辑模式 2.尾行模式操作:w//对编辑后的文档进行保存:q//退出vi编辑器:wq//保存 查看详情
c++核心-字符串向量和数组及指针详解
关于STL的内容后面再详细介绍,string和vector都是标准模板库的内容。数组是C的复合类型(可能只有我这么叫),一组数据,空间连续,所以由开始也有结束,从0开始,到n-1结束。注意别越界,因为是从0开始的。string和vector内部... 查看详情
剑指offer(java版)第三十五题:给一个数组,返回它的最大连续子序列的和
...又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:6,-3,-2,7,-15,1,2,2,连续子向量的... 查看详情
字符串向量,每个字符串的长度和 c++ 中的 strlen
】字符串向量,每个字符串的长度和c++中的strlen【英文标题】:vectorofstring,eachstringslengthandstrleninc++【发布时间】:2013-11-2111:56:34【问题描述】:我有一个字符串向量。我需要找到每个字符串的长度。然后我假设当我将每个字符... 查看详情
第三部分数据结构[专业课考试3]
...伪代码均可)总分:60分一、栈(Stack)、队列(Queue)和向量(Vector)内容:单链表,双向链表,环形链表,带哨兵节点的链表;栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归;队列的基本概念和性质,队列ADT及其顺序,... 查看详情
为啥字符串不是向量的(子类)?
】为啥字符串不是向量的(子类)?【英文标题】:Whyisstringnota(subclassof)vector?为什么字符串不是向量的(子类)?【发布时间】:2015-07-1415:43:21【问题描述】:C字符串是字符数组。向量是C++中的新数组。那么为什么不是字符串... 查看详情
如何将向量转换为数组
】如何将向量转换为数组【英文标题】:Howtoconvertvectortoarray【发布时间】:2010-05-2717:14:40【问题描述】:如何将std::vector<double>转换为doublearray[]?【问题讨论】:有点想问为什么?您可以将向量作为数组访问。数组有... 查看详情
字符串,向量,数组(代码片段)
字符串,向量,数组本章内容:访问库中名字的简单方法两种重要的标准库类型:string和vectorstring表示可变长的字符序列vector存放的是某种给定类型对象的可变长序列还将介绍内置数组类型3.1命名空间的using声明格式:usingnamespace::namenam... 查看详情