C++11ノート(二):forサイクル
5365 ワード
まず肯定的なのは、私はタイトル党ではありません。
C+11のforサイクルは確かにC+98と違っているところがありますか?それとも先にコードを書きますか?
このような良いものは確かに欠かせません。std::vector、std::map、std::setという三つの神器です。ディズエ代機のモデルは当時は一つのデザインモードでした。今は直接言語に集積しています。また一つの秀逸な操作の手段が足りません。(へへへ。)
もう一つのポイントは、std:vectorは読み書きができますが、std:mapとstd:setは読み取り専用です。コンサートを宣言しました。
余計なことを言ってもいいですか?弱くて聞いてください。
また、「ソウ」シリーズが大好きです。std:map例の文字列を無視してください。
——————————————————
4-23 9:43追加:
std:stingもいいです。コードは入れません。
C+11のforサイクルは確かにC+98と違っているところがありますか?それとも先にコードを書きますか?
1 int test_arr[] = { 1, 2, 3, 4, 5 };
2 for (int x : test_arr)
3 {
4 std::cout << x << std::endl;
5 }
JavaのforサイクルとC〓のforeachと似ていますが、JavaとC〓のforサイクルは読み取り専用です。C++のは読み書きができます。上のコードをこのように修正します。1 for (int &x : test_arr)
2 {
3 x = 8;
4 }
このように配列中の要素は全部8です。JavaとC〓は修正が許されません。このような良いものは確かに欠かせません。std::vector、std::map、std::setという三つの神器です。ディズエ代機のモデルは当時は一つのデザインモードでした。今は直接言語に集積しています。また一つの秀逸な操作の手段が足りません。(へへへ。)
std::vector<int> test_vector;
test_vector.push_back(6);
test_vector.push_back(7);
test_vector.push_back(8);
test_vector.push_back(9);
test_vector.push_back(10);
for (int x : test_vector)
{
std::cout << x << std::endl;
}
std::map<std::string, std::string> test_map;
test_map.insert(std::pair<std::string, std::string>(" ", " "));
test_map.insert(std::pair<std::string, std::string>(" ", " "));
test_map.insert(std::pair<std::string, std::string>(" ", " "));
for (std::pair<std::string, std::string> test_pair : test_map)
{
std::cout << test_pair.first << std::endl;
std::cout << test_pair.second << std::endl;
}
std::set<int> test_set;
test_set.insert(16);
test_set.insert(17);
test_set.insert(18);
test_set.insert(19);
test_set.insert(20);
for (int x : test_set)
{
std::cout << x << std::endl;
}
もう一つのポイントは、std:vectorは読み書きができますが、std:mapとstd:setは読み取り専用です。コンサートを宣言しました。
余計なことを言ってもいいですか?弱くて聞いてください。
また、「ソウ」シリーズが大好きです。std:map例の文字列を無視してください。
——————————————————
4-23 9:43追加:
std:stingもいいです。コードは入れません。