vectorとmap
std::vectorは可変長の配列、std::mapはキーと値の組です。
値を追加して読むC++
#include <iostream>
#include <map>
#include <string>
#include <vector>
int main() {
std::vector<std::string> fruits{"りんご", "みかん"};
fruits.push_back("ぶどう");
std::map<std::string, int> scores{{"Aki", 82}, {"Mika", 91}};
for (const auto& fruit : fruits) std::cout << fruit << '\n';
std::cout << scores.at("Mika") << "点\n";
}実行結果OUTPUT
りんご
みかん
ぶどう
91点at()はキーがないと例外を出します。存在確認にはfind()やC++20のcontains()を使います。
関数と参照
大きくなり得る値をコピーせず受け取るときはconst T&を使い、関数内で変更しない意図も示します。
商品表示を作るC++
#include <iostream>
#include <string>
std::string make_label(const std::string& name, int price) {
return name + ": " + std::to_string(price) + "円";
}
int main() {
std::string name{"ノート"};
std::cout << make_label(name, 180) << '\n';
}実行結果OUTPUT
ノート: 180円練習
std::vector<int>の平均値を返す関数を作り、空のvectorを渡した場合の扱いも考えてみましょう。
