向量vector
向量(Vector) 是一个封装了动态大小数组的顺序容器(Sequence Container)
跟任意其它类型容器一样,它能够存放各种类型的对象
可以简单的认为,向量是一个能够存放任意类型的动态数组
auto声明
auto的原理就是根据后面的值,来自己推测前面的类型是什么
auto的作用就是为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替
注意点 1.用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错)
2.函数和模板参数不能被声明为auto(原因同上)
3.因为auto是一个占位符,并不是一个他自己的类型,因此不能用于类型转换或其他一些操作,如sizeof和typeid
4.定义在一个auto序列的变量必须始终推导成同一类型
int main() {
// 定义结构体变量
B book1;
B book2;
// 结构体变量赋值
strcpy(book1.title, "C++ 教程");
strcpy(book1.author, "Runoob");
strcpy(book1.subject, "编程语言");
book1.book_id = 12345;
strcpy(book2.title, "CSS 教程");
strcpy(book2.author, "Runoob");
strcpy(book2.subject, "前端技术");
book2.book_id = 12346;
// 输出信息
cout<<"book1的信息为:"<<endl;
printBook1(book1);
cout<<'\n'<<"book2的信息为:"<<endl;
printBook2(&book2);
return 0;
}
// 结构体作为函数参数
void printBook1(B b) {
cout << "书标题 : " << b.title << endl;
cout << "书作者 : " << b.author << endl;
cout << "书类目 : " << b.subject << endl;
cout << "书 ID : " << b.book_id << endl;
}
// 指向结构体的指针作为函数参数
void printBook2(B *b) {
cout << "书标题 : " << b->title << endl;
cout << "书作者 : " << b->author << endl;
cout << "书类目 : " << b->subject << endl;
cout << "书 ID : " << b->book_id << endl;
}
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58