Initialize a vector in C++ (5 different ways) -- 初始化vector的5种方法

Following are different ways to create and initialize a vector in C++ STL

1, Initializing by one by one pushing values : 一个一个初始化

// CPP program to create an empty vector 
// and one by one push values. 
#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	// Create an empty vector 
	vector<int> vect; 
	
	vect.push_back(10); 
	vect.push_back(20); 
	vect.push_back(30); 

	for (int x : vect) 
		cout << x << " "; 

	return 0; 
} 

Output:

10 20 30

2, Specifying size and initializing all values :确定大小,全部初始化为相同的值

// CPP program to create an empty vector 
// and one by one push values. 
#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	int n = 3; 

	// Create a vector of size n with 
	// all values as 10. 
	vector<int> vect(n, 10); 

	for (int x : vect) 
		cout << x << " "; 

	return 0; 
} 

Output:

10 10 10

3, Initializing like arrays :像数组一样初始化

// CPP program to initialize a vector like 
// array. 
#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	vector<int> vect{ 10, 20, 30 }; 

	for (int x : vect) 
		cout << x << " "; 

	return 0; 
} 

Output:

10 20 30

4, Initializing from array :由数组初始化

// CPP program to initialize a vector from 
// array. 
#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	int arr[] = { 10, 20, 30 }; 
	int n = sizeof(arr) / sizeof(arr[0]); 

	vector<int> vect(arr, arr + n); 

	for (int x : vect) 
		cout << x << " "; 

	return 0; 
} 

Output:

10 20 30

5, Initializing from another vector :由另一个vector初始化

// CPP program to initialize a vector from 
// another vector. 
#include <bits/stdc++.h> 
using namespace std; 

int main() 
{ 
	vector<int> vect1{ 10, 20, 30 }; 

	vector<int> vect2(vect1.begin(), vect1.end()); 

	for (int x : vect2) 
		cout << x << " "; 

	return 0; 
} 

Output:

10 20 30

This article is contributed by Kartik. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Recommended Posts:

猜你喜欢

转载自blog.csdn.net/qq_27009517/article/details/86504104