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字笔记

剑指Offer(Java版)第三十五题:给一个数组,返回它的最大连续子序列的和

第三章 数据

作业帮助;从多个文件读入向量/数组

字向量和词向量区别