Loading article…
コンピュータ サイエンスでは、マニフェスト型指定とは、宣言されている各変数の型をソフトウェア プログラマが明示的に識別することです。たとえば、変数Xに整数を格納する場合は、その型を整数として宣言する必要があります。「マニフェスト型指定」という用語は、オブジェクトの静的なコンパイル時の型メンバーシップと実行時の型 IDの違いを説明するために、潜在型指定という用語とともに使用されることがよくあります。
対照的に、一部のプログラミング言語では、暗黙的な型付け(別名、型推論)を使用してコンパイル時にコンテキストから型を推測したり、変数を宣言するだけで実行時に任意の型の値を割り当てることができる動的型付け を許可したりします。
例
C プログラミング言語で書かれた次の例を考えてみましょう。
#include <stdio.h>
int main ( void ) { char s [] = "テスト文字列" ; float x = 0.0f ; int y = 0 ;
printf ( "Hello, World! \n " );
0 を返す; }
変数s、x、y はそれぞれ文字配列、浮動小数点数、整数として宣言されています。型システムは、コンパイル時にsとx を加算しようとするような誤りを拒否します。C23 以降、 Cではキーワード を使って型推論を使用できますauto。[1]この機能を使用すると、前の例は次のようになります。
#include <stdio.h>
int main ( void ) { char s [] = "Test String" ; // auto s = "Test String"; は、 char* s = "Test String"; auto x = 0.0f ; auto y = 0 ;と同等です。
printf ( "Hello, World! \n " );
0 を返す; }
2 番目の例と同様に、Standard MLでは、型を明示的に宣言する必要はありません。代わりに、型は割り当てられた式の型によって決定されます。
let val s = "テスト文字列"
val x = 0.0
val y = 0
in print "Hello, World! \n "
end
このプログラムには明示的な型はありませんが、コンパイラは依然としてそれらの型、、を推論し、式をコンパイル時エラーとして拒否します。
stringrealints+x
参考文献
- ^ 「WG14-N3007 : オブジェクト定義の型推論」。open -std.org 2022-06-10。2022年12月24日時点のオリジナルよりアーカイブ。
外部リンク
- マニフェストの型付け
