2017.11.12 第三章 字符串向量和数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.11.12 第三章 字符串向量和数组相关的知识,希望对你有一定的参考价值。
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;
}
以上是关于2017.11.12 第三章 字符串向量和数组的主要内容,如果未能解决你的问题,请参考以下文章
《学习JavaScript数据结构与算法》第三章 14000字笔记