C++クイズ!【問題 全10問・答え付き】 | 2026年09月版

クイズ

C++は書き慣れた人でも、ポインタやconst、スマートポインタ、ムーブといった細かなルールで迷いやすい言語です。曖昧な理解のままでもコードは動きますが、思わぬバグやリークの原因になりかねません。本記事では、実務や学習で押さえておきたい重要ポイントを10問のクイズにまとめました。腕試しや知識の再確認にぜひ挑戦してみてください。

Q1 : std::move の説明として正しいものはどれですか?

Q2 : C++17で導入された std::string_view について正しい説明はどれですか?

Q3 : ラムダ式 int x = 0; auto f = [x]() { x++; }; がコンパイルエラーになる理由として正しいものはどれですか?

Q4 : 2つのオブジェクトが互いに std::shared_ptr で保持し合うとメモリリークが起きます。これを避けるために片方に使うべきスマートポインタはどれですか?

Q5 : std::unique_ptr<int> a = std::make_unique<int>(5); の後に std::unique_ptr<int> b = a; と書くとどうなりますか?

Q6 : 基底クラスのデストラクタがvirtualでない場合、基底クラスのポインタ経由で派生クラスのオブジェクトをdeleteするとどうなりますか?

Q7 : std::vector<int> v; v.reserve(100); を実行した直後の v.size() の値はどれですか?

Q8 : std::vector<int> v の各要素を範囲forで書き換えたいとき、正しい書き方はどれですか?

Q9 : std::map<std::string, int> m; で、キー存在しない

Q10 : int* const p;

まとめ

いかがでしたか? 今回はC++クイズをお送りしました。
皆さんは何問正解できましたか?

今回はC++クイズを出題しました。

ぜひ、ほかのクイズにも挑戦してみてください!
次回のクイズもお楽しみに。

本サイトのクイズアプリ好評配信中!今すぐ無料プレイ!

早押しクイズで全国プレイヤーとオンライン対戦

おすすめポイント

  • 2000問以上の雑学・一般常識クイズを収録
  • シングルプレイで知識アップ!
  • 完全無料で課金要素なし!全国対戦でランキング上位を目指そう
クイズ
クイズカレッジ