[解決済み] 文字列の動的配列の作成 C++
2022-03-11 16:59:06
質問
私は非常に基本的な質問に構造です。c++で文字列の配列を動的に作成したい。
どうすればいいのでしょうか?
これは私の試みです。
#include <iostream>
#include <string>
int main(){
unsigned int wordsCollection = 6;
unsigned int length = 6;
std::string *collection = new std::string[wordsCollection];
for(unsigned int i = 0; i < wordsCollection; ++i){
std::cin>>wordsCollection[i];
}
return 0;
}
しかし、次のようなエラーが発生します。
error C2109: subscript requires array or pointer type
エラーは何ですか?
また、ユーザーから入力番号を取得する場合、以下のようになります。
std::cin
そのサイズの配列を静的に作成することはできますか?
どのように解決するのですか?
と入力したはずです。
std::cin>>collection[i];
そして、あなたはまた
delete[]
collection
(さもないと、このメモリがリークします)。
を使用するのがよいでしょう。
std::vector<std::string> collection;
で、生ポインタの使用は完全に避けてください。
#include <iterator>
#include <iostream>
#include <string>
#include <vector>
int main()
{
const unsigned int wordsCollection = 6;
std::vector<std::string> collection;
std::string word;
for (unsigned int i = 0; i < wordsCollection; ++i)
{
std::cin >> word;
collection.push_back(word);
}
std::copy(collection.begin(),
collection.end(),
std::ostream_iterator<std::string>(std::cout, "\n"));
}
関連
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン