C++ Primer第三章①

C++ Primer

第三章 字符串、向量和数组

前言:除了第二章介绍的内置类型之外,C++语言还定义了一个内容丰富的抽象数据类型库。这一章我们主要介绍其中的两种string和vector(相信我,你们以后会经常用到的),string支持可变长字符串(注意,是可变长的),后者则表示可变长的集合(可以把vector看成是一个容器)。还会介绍一种标准库类型是迭代器,它是string和vector的配套类型,用于访问string中的字符或vector中的元素。

第二章介绍的内置类型是由C++语言直接定义的。这些类型体现了大多数计算机硬件本身具备的能力。标准库定义了另外一组更具有高级性质的类型,如string,vector等,它们尚未直接实现到计算机硬件中。

在开始介绍标准库类型之前,先来学习一下一种访问库中名字的简单方法。

命名空间的using声明

目前为止,我们用到的库函数基本都属于命名空间std

#include <iostream>
int main()
{
    int a = 0;
    std::cin >> a;
}

比如上面代码,你要想用cin表示输入,就要写成std::cin,因为cin是在命名空间std中的,要是写多个输入就很烦,于是,C++设计者又有偷懒方法

#include <iostream>
using std::cin;

int main()
{
    int a = 0;
    cin >> a;
}

那如果我们要用cout,endl等,也得using std::cout这样,那有没有更偷懒的方法呢?有的,像下面这样就行,不过不推荐这么做,虽然我一直这么干

using namespace std; //这样就可以访问std中所有的名字,但是很多用不到,
//可能程序开销会变大
头文件不应包含using声明

我们用头文件一般是自定义数据类型吧(有待讨论) 因为头文件的内容在编译时会被拷贝到所有引用它的文件中去,如果头文件中有某个using声明,那么每个使用了该头文件的文件就都会有这个声明,很有可能产生一些冲突。

为了让后面的代码简洁,也为了我好偷懒,后面将不会再把所有using声明和#include指令一一标出,你要想跑代码,就自己加一下。

全部评论
可以做一个目录
点赞 回复 分享
发布于 2016-11-30 09:52
建议把文章放在一起哦~~~
点赞 回复 分享
发布于 2016-11-30 09:48

相关推荐

点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务