typedef

1: typedef 为某种类型引入同义词。

格式:

typedef type synonym;
定义 synonym 为名为 type 的类型的另一名字。

2: unsigned(无符号型)

保存大于等于零的值的整型。

3: void type(空类型)

用于特殊目的的没有操作也没有值的类型。不可能定义一个 void 类型的
变量。最经常用作不返回结果的函数的返回类型。

4: 命名空间的 using 声明

在本章之前看到的程序,都是通过直接说明名字来自 std 命名空间,来引
用标准库中的名字。例如,需要从标准输入读取数据时,就用 std::cin。这些
名字都用了:: 操作符,该操作符是作用域操作符。它的含义是
右操作数的名字可以在左操作数的作用域中找到。因此,std::cin 的意思是说
所需要名字 cin 是在命名空间 std 中定义的。显然,通过这种符号引用标准库
名字的方式是非常麻烦的。

幸运的是,C++ 提供了更简洁的方式来使用命名空间成员。本节将介绍一种
最安全的机制:using 声明。
使用 using 声明可以在不需要加前缀 namespace_name:: 的情况下访问命
名空间中的名字。using 声明的形式如下:
using namespace::name;
一旦使用了 using 声明,我们就可以直接引用名字,而不需要再引用该名
字的命名空间。
#include <string>
#include <iostream>
// using declarations states our intent to use these names from the
namespace std
using std::cin;
using std::string;
int main()
{
string s; // ok: string is now a synonym for std::string
cin >> s; // ok: cin is now a synonym for std::cin
cout << s; // error: no using declaration; we must use full
name
std::cout << s; // ok: explicitly use cout from namepsace std
}
没有 using 声明,而直接使用命名空间中名字的未限定版本是错误的,尽
管有些编译器也许无法检测出这种错误。

每个名字都需要一个 using 声明
一个 using 声明一次只能作用于一个命名空间成员。using 声明可用来明
确指定在程序中用到的命名空间中的名字,如果希望使用 std(或其他的命名空
间)中的几个名字,则必须为要用到的每个名字都提供一个 using 声明。例如,
利用 using 声明可以这样重新编写第 1.2.2 节中的加法程序:
#include <iostream>
// using declarations for names from the standard library
using std::cin;
using std::cout;
using std::endl;
int main()
{

cout << "Enter two numbers:" << endl;
int v1, v2;
cin >> v1 >> v2;
cout << "The sum of " << v1
<< " and " << v2
<< " is " << v1 + v2 << endl;
return 0;
}
对 cin,cout 和 endl 进行 using 声明,就意味着以后可以省前缀 std::,
直接使用命名空间中的名字,这样代码可以更易读。

有一种情况下,必须总是使用完全限定的标准库名字:在头文件中。理由是
头文件的内容会被预处理器复制到程序中。用 #include 包含文件时,相当于头
文件中的文本将成为我们编写的文件的一部分。如果在头文件中放置 using 声
明,就相当于在包含该头文件 using 的每个程序中都放置了同一 using,不论
该程序是否需要 using 声明
通常,头文件中应该只定义确实必要的东西。请养成这
个好习惯。

5. 标准库 string 类型
string 类型支持长度可变的字符串,C++ 标准库将负责管理与存储字符相
关的内存,以及提供各种有用的操作。标准库 string 类型的目的就是满足对字
符串的一般应用。
与其他的标准库类型一样,用户程序要使用 string 类型对象,必须包含相关头
文件。如果提供了合适的 using 声明,那么编写出来的程序将会变得简短些:
#include <string>
using std::string;

6: 构造函数

是一个特殊成员函数,定义如何初始化该类型的对象。表 3.1 列出了几个 string 类型常用
的构造函数。当没有明确指定对象初始化式时,系统将使用默认构造函数(第
2.3.4 节)。
表 3.1. 几种初始化string 对象的方式
string s1; 默认构造函数 s1 为空串
string s2(s1); 将 s2 初始化为 s1 的一个副本
string s3("value"); 将 s3 初始化为一个字符串字面值副本
string s4(n, 'c'); 将 s4 初始化为字符 'c' 的 n 个副本

7: 使用getline 读取整行文本

int main()

{
string line;
// read line at time until end-of-file
while (getline(cin, line))
cout << line << endl;
return 0;
}

原文地址:https://www.cnblogs.com/ruzhuan/p/3442134.html