(1)char类型与string类型的区别
1.从本质上说,char字符型,是一个基本数据类型,长度固定,为一个字节;string字符串型,是一个模板类型,本身并不固定长度,而取决于内部包含的字符,也就无法能过sizeof确定字节了,但可以通过.length()来计算出长度。
<例> char c='a';
2.char用单引号表示,如'a'、'B'、'$'、' '。只能包含一个字节。现在情况出现了。
(1)当单引号里面的内容超过一个字节时,系统会自动截取一个字节的内容给char变量,忽略其他的字节内容。
<例>char c='123456';//报错:too many characters in constant
<例>char c='1234';//注意与上一例的不同,大于4个字节才会报错。这又是为什么呢?在C++中char 类型处理和储存是以int类型操作的,int是4个字节,32位内存单元,也就是说,c仍然储存在8位单元的内存中,C的值1234刚好放在32位的内存单元中,再多一个就放不下了。
→4
<例>char c;//注意与上一例的不能之处,这里并没有初始化
→1
(2)当char赋值正确的用ASII表中的字符,如'!',单引号里面的内容是什么,cout就会输出什么。
<例>char c=110;
→n
(4)char型有有signed char和unsigned char的区分,signed char 有符号的char,取值范围是-128到127,unsigned char 无符号的char,取值范围是0到255。char类型可以用来表示整数的。既然是可以用来表示整数,就有正负之分了。例如,我们要表示一个整数,它的取值范围比较小,不会超过255.那么此时,我们就可以直接用unsigned char,而不必用short(2个字节),更没有必要用int(4个字节)了。
3.string用双引号表示,如“123456”,正如VB.ENT的string,但这里它不是基本数据类型,而是类。 string中每个字符都用2个字节保存,
string有没有上限呢?理论上是受内存限制。但一般可以认为是2G(2的31次方)
另外,在使用char或者string的时候,不要忘记有一些字符是比较特殊的,也就是所谓的“转义字符”,例如\n表示换行,\t表示tab键等。
(2)数组定义时,必须指定维数!
(3)不同类型的初始化、赋值、输出:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
}
(4)vector的遍历可以使用下标和迭代器两种方法实现。