0

文字列を保持するベクトルを作成したいのですが、ベクトルのサイズは、quit に入るまでユーザーが入力した文字列の数によって決まります。サイズがわからないままベクトルを作成するにはどうすればよいですか。誰かが私を正しい方向に向けることができれば、本当に感謝しています。

私のコードは次のとおりです。

1#include<iostream>
2 #include<string>
3 #include<cctype>
4 #include<vector>
5 using namespace std;
6 
7 void str_to_upper(string &s);
8 void reverse(string &s);
9 bool is_palindrome(string s);
10 void fill_vector( vector<string> &v);
11 void print_vector( vector<string> v );
12 void print_palindromes( vector<string> v);
13 void change_to_upper(vector<string> &v);
14 
15 int main()
16 {
17  int size;
18  vector<string> v();
19  for(int i = 0; v[i] != "quit"; i++) 
20  {
21   getline(cin, v[i];
22  }
4

1 に答える 1

1

C++ ベクトルは動的に拡大および縮小します。配列とは異なり、明示的なサイズを指定する必要はありません。コンストラクターがそれを処理します。

現在保持できる容量を超えて追加すると、サイズが自動的に変更されます。外す場合も同様です。見てください:

http://en.cppreference.com/w/cpp/container/vector

于 2013-10-15T06:26:45.453 に答える