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

3.1 using声明

3.2 string

3.2.1 string定义和初始化

	string s1 = "s1";
	string s2(10, 'a');
	string s3("s3");
	string s4 = "s4"; //拷贝初始化
	string s5("s5"); //直接初始化
        string s6(6, 's'); //直接初始化

3.2.2 string对象操作


读写string对象

#include <iostream>
#include <string>

using std::string;
using std::cin;
using std::cout;
using std::endl;
int main() {
	string s;
	cin >> s;
	cout << s << endl;
	
	return 0;
} 

不能读取到空格,输入"Hello World",返回"Hello"
getline读取一整行

#include <iostream>
#include <string>

using std::string;
using std::cin;
using std::cout;
using std::endl;
int main() {
	string s;
	getline(cin, s);
	cout << s << endl;

	return 0;
} 

string相加

#include <iostream>
#include <string>

using std::string;
using std::cin;
using std::cout;
using std::endl;
int main() {

	string s1 = "Hello ";
	string s2 = "World";
	string s3 = s1 + s2;
        
	cout << s3 << endl;
	
	return 0;
} 

string遍历

#include <iostream>
#include <string>

using std::string;
using std::cin;
using std::cout;
using std::endl;
int main() {

	string s1 = "Hello ";
	string s2 = "World";
	string s3 = s1 + s2;
	
	for (auto c : s3) 
		cout << c << endl;
	return 0;
} 

3.3vector

3.3.1 vector定义和初始化

#include <iostream>
#include <vector>
#include <string>
using std::string;
using std::vector;
using std::cin;
using std::cout;
using std::endl;

int main() {
	vector<int> v1 = {1, 2, 3};
	vector<int> v2(v1); //复制V1到V2 
	vector<int> v3(10, 1); //V3包含了10个1 
	vector<string> v4{"s1", "s2", "s3"}; 
	
        vector<int> v5(10, 1); // 包含10个1
        vector<int> v6{10, 1}; // 包含10和1

        vector<string> v7{10} // 10个空字符
        vector<string> v7{10, "hi"} // 10个hi 
	return 0;
} 

3.3.2 vector添加元素

push_back 将元素添加到尾部

#include <iostream>
#include <vector>
#include <string>
using std::string;
using std::vector;
using std::cin;
using std::cout;
using std::endl;

int main() {
	vector<int> v1;
	for (int i = 0; i < 100; i ++)
		v1.push_back(i);
	for (int i = 0; i < 100; i ++)
		cout << v1[i] << " ";
	
	return 0;
} 

3.3.3 vector其他操作

3.4 迭代器

3.5 数组

3.5.1 数组定义和初始化

      int arr[10] = {1, 2, 3};

不允许拷贝和赋值

3.5.2 访问数组元素

3.5.3 指针和数组

#include <iostream>
#include <string>
using std::string;
using std::vector;
using std::cin;
using std::cout;
using std::endl;

int main() {
	string nums[] = {"one", "two", "three"};
	string *p1 = &nums[0];
	string *p2 = nums; //与上一行等价
	++p2; //p2指向nums[1]
	return 0;
} 

3.6 多维数组

数组的数组

3.6.1 多维数组的定义与初始化

int main() {
	int a[3][4] = {
		{0, 1, 2, 3},
		{4, 5, 6, 7},
		{8, 9, 10, 11}
	}; 
	
	return 0;
} 
posted @ 2022-09-17 10:46  hjy94wo  阅读(20)  评论(0)    收藏  举报