IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 1 标准库 -> 正文阅读

[C++知识库]1 标准库

3.1命名空间的using声明

std::cin。这些名字都用了::操作符,该操作符是作用域操作符。他的含义是右操作数的名字可以再左操作数的作用域中找到。因此,std::cin的意思是说所需名字cin实在命名空间std中定义的。显然,通过这种符号引用标准库名字的方式是非常麻烦的。

使用using声明可以再不需要假钱准namespace-name::的情况下访问命名空间中的名字。

using声明的形式如下:

using namespace::name;

一旦使用了using声明,我们就可以直接引用名字,而不需要在引用该名字的命名空间

2 使用标准库类型的类定义

有一种情况下,必须总是使用完全限定的标准库名字:在头文件中。理由是头文件的内容会被预处理器复制到程序中,用#include包含文件时,相当于头文件中的文本将成为我们编写的文件的一部分。如果在头文件中放置using声明,就相当于在包含盖头文件的每个程序中都放置了同一using声明。

3.2标准库string类型

string类型支持长度可变的字符串,C++彼岸准哭将负责管理与储存字符相关的内存,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。

string对象的定义和初始化

string标准库支持几个构造函数。构造函数是一个特殊成员函数,定义如何初始化该类型的对象。

3.2.2 string对象的读写

我们之前学习了用iostream标准库来读写内置类型的值,如int,double等。同理,我们也可以用iostream和string标准库,使用标准输入输出操作符来读写string对象:

int main ()

{

string s;

cin>>s;

cout << s << endl;

return 0;

}

以上程序首先定义命名为s的string,第二行代码:

cin >> s;

从标准输入读取string,并将读入的船存储在s中。string类型的输入操作符:

读取并忽略开头所有的空白字符(如空格,换行符,制表符)。

读取字符直至再次遇到空白字符,读取终止。

因此,如果输入到程序的是“ Hello World ”,则屏幕上输出的是“Hello”,而不包含任何空格

输入和输出操作的行为与内置类型操作符基本相似。尤其是,这些操作符返回左操作数作为运算结果。因此,我们可以把多个读操作或多个写操作放到一起

1 读入位置树木的string对象

和内置类型的输入操作符一样,string的输入操作符也会返回所读的数据流。因此,可以把输入操作作为判断条件,这与读取数据类型的程序做法是一样的,下面程序将从标准输入读取一组string对象,然后再标准输出上逐行输出:

int main ()

{

string word;

while (cin >> word)

cout << word << endl ;

return 0;

}

上列中,用输入操作符来读取string对象。该操作符返回所读的istream对象,并在读取结束后,作为while的判断条件。如果输入流是有效的,即还未到达文件尾且未遇到无效输入,则执行while循环体,并将读取到的字符串输出到标准输出。如果到达了文件尾,则跳出while循环。

2 用getline 读取整行文本

另外还有一个有用的string IO操作:getline。这个函数接受两个参数:一个输入流对象和一个string对象。getline函数从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符。和输入操作符不一样的是,getline并不忽略行开头的换行符。只要getline遇到换行符,即便他是输入的第一个字符,getline也将停止读入并返回。如果第一个字符就是换行符,则string参数将被置为空string。

getline函数将istream参数作为返回值,和输入操作符一样晔把它作为判断条件。

int main ()

{

string line;

while (getline (cin,line))

cont << line << endl;

return 0 ;

}

由于line不含换行符,若要逐行输出需要自动添加。照常,我们用endl来输出一个换行符并刷新到缓冲区

3.2.3 string对象的操作

1 string的size和empty操作

string对象的长度指的是string对象中字符的个数,可以通过size操作获取;

int main ()?

{

string st( "The expense of spirit \n");

cout << "The size of " << st << "is" << st.size() << " characters, including the newline " << endl ;

return 0 ;

}

2 string :: size_type 类型

从逻辑上讲, size()成员函数似乎应该返回整型数值,事实上,size操作返回的是string::size_type类型的值。我们需要对这种类型做一些解释。

string类类型和许多其他库类型都定义了一些配套类型。通过这些配套类型,库类型的使用就能与机器无关。size_type就是这些配套类的一种。它定义为与unsigned型具有相同的含义,而且可以保证足够大能够存储任意string对象的长度,为了使用由string类型定义的size_type类型,程序员必须加上作用域操作符来说明所使用的size_type 类型由string类来定义的。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 15:50:34  更:2022-03-03 15:57:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:21:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码