C++

コレクションと関数

複数の値を扱う標準コンテナと、処理を分ける関数を学びます。

C++入門の講座一覧

01

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()を使います。

02

関数と参照

大きくなり得る値をコピーせず受け取るときは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円
03

練習

std::vector<int>の平均値を返す関数を作り、空のvectorを渡した場合の扱いも考えてみましょう。