「Void (コンピュータ)」の版間の差分

編集の要約なし
(→‎void演算子: 空白入れないとわかりづらい)
 
== C言語、C++ ==
返り値がvoid型の関数では、関数は処理が終わりまで達するか、引数なしで[[return文]]を実行するか、abort、exitなどの関数を呼び出すことで終了する。C の最新規格 C11 では、これらの操作なく関数が処理の終わりまで達してしまった場合の動作は未定義である。また、[[関数プロトタイプ]]にvoidを単独で書いて、「[[引数]]がない」ことを明示する用途にも使われる。void(空虚)という名前に反して、void型は空集合を意図したunit型のような使われ方をしている。ただし、<code>void</code>型の値を実際に作り出す方法は言語上に存在しない。
 
初期のC言語では、返り値が明示されていない関数が<code>int</code>型として扱われ、また引数のない関数ではただ空のカッコを書いていた。そして、指す先の型が決まらないポインタは整数、あるいは<code>char</code>へのポインタを代用していた。この仕様だった[[コンパイラ]]では、関数の返り値を使わないことで警告が出ていたので、それをvoid型に[[型変換|キャスト]]することで警告を出さないようなコードが書かれることもあった。[[ビャーネ・ストロヴストルップ]]が1979年~80年頃に[[C++]]の開発を始めた時点では、void型やそのポインタは[[AT&T]]系のコンパイラがサポートしていた[[方言 (プログラミング言語)|方言]]であった<ref>http://cm.bell-labs.com/cm/cs/who/dmr/chist.html, "Standardisation."</ref>。
匿名利用者