[解決済み] C++における静的型チェックと動的型チェック
2022-01-28 04:29:34
質問
静的型検査と動的型検査とは何か、その違いについて知りたい。
どのように解決するのですか?
静的型チェックとは、コンパイル時に型チェックを行うことです。その場合、実行時に型情報は使用されません。
動的な型チェックは、実行時に型情報を使用する場合に行われます。C++では、RTTI(runtime type information)と呼ばれる機構を使って実装しています。RTTIが使用される最も一般的な例は、多相型のダウンキャストを可能にするdynamic_cast演算子です。
// assuming that Circle derives from Shape...
Shape *shape = new Circle(50);
Circle *circle = dynamic_cast<Circle*> shape;
さらに、typeid演算子を使って、オブジェクトの実行時の型について調べることができます。例えば、例の図形が円なのか四角形なのかを調べるのに使うことができる。以下は、いくつかの 詳細情報 .
関連
-
[解決済み] テスト
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】Visual Studio 2013および2015でC++コンパイラーエラーC2280「削除された関数を参照しようとした」が発生する
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] static_cast, dynamic_cast, const_cast, reinterpret_cast はいつ使うべきですか?
-
[解決済み] ルール・オブ・スリーとは?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] C++11の'typedef'と'using'の違いは何ですか?
-
[解決済み] ダイナミックライブラリとスタティックライブラリの使い分け
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】非静的メンバ関数への参照を呼び出す必要がある
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み] C++でオブジェクトの型を検索する