Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 自動型推論 | その他のデータ型と概念
C++データ型

book自動型推論

メニューを表示するにはスワイプしてください

C++は静的型付け言語ですが、autoを使用することで、初期化時にコンパイラが変数の型を自動的に推論できます。この機能はC++11で導入され、以前のバージョンでは利用できません。

main.cpp

main.cpp

copy
12345678910
#include <iostream> int main() { auto num = 9; auto str = "I am string"; std::cout << num << std::endl; std::cout << str << std::endl; }

この機能は記述の手間を省き、コードを簡潔にできますが、意図した型が分かりにくくなり、エラーの発見が難しくなる場合もあります。

main.cpp

main.cpp

copy
1234567891011
#include <iostream> int main() { auto num1 = 9; auto num2 = 12; auto num3 = 15000; auto calculations = num1 / num2 * num3; std::cout << calculations; }

型を指定することで、コードの理解が深まり、不具合の発見が容易になる。

main.cpp

main.cpp

copy
1234567891011
#include <iostream> int main() { float num1 = 9; float num2 = 12; float num3 = 15000; float calculations = num1 / num2 * num3; std::cout << calculations; }
Note
注意

正しい結果を出力するには、num1num2、またはnum3のいずれかをfloat型にする必要があります。

それにもかかわらず、autoは範囲ベースのforループで広く使用されており、配列や他のコンテナを反復処理するための汎用的な方法です。arrを反復処理するには、次の構文を使用します。

main.cpp

main.cpp

auto.h

auto.h

copy
123456789
#include <iostream> int main() { int num_arr[5] = {1, 5, 10, 15, 20}; for (auto num : num_arr) std::cout << num << " "; }

型が長くなる場合でも、文脈から明確で誤った結果につながらない場合に使用可能。

question mark

C++ における auto キーワードの主な目的は何か?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  4
some-alt