[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
関数の戻り値の型として void キーワードを使用した場合は、関数が値を戻さないことを示します。 関数のパラメーター リストで void を使用した場合は、関数がパラメーターを受け取らないことを示します。 ポインターの宣言で void を使用した場合は、ポインターが "汎用" であることを示します。
ポインター型が void * の場合は、const キーワードまたは volatile キーワードで宣言されていないすべての変数を指し示すことができます。 void ポインターは別の型にキャストしない限り、逆参照できません。 void ポインターは他の型のデータ ポインターに変換できます。
void ポインターは、関数を指すことはできますが、C++ のクラス メンバーを指すことはできません。
void 型の変数を宣言することはできません。
何が出来るのかと言うと上記の通りで汎用的なポインターとして使用できます
では例を見てみましょう
今回はint*をvoid*型にキャストしました
この他にもcharやfloatなどの各型、構造体、関数やクラスのポインタなどがvoid*型にキャストすることが出来ます
しかしvoid*のままでは使用できず、元々の型にキャストし直してやる必要性があります
まぁC++の場合にはテンプレートなどがあるので使用する機会は少ないかもしれませんね
Cとの互換性を持たせたままコーディングする必要があるときなんかにはお世話になるかもしれませんね
COMMENT
無題
No Title
そうですね、確かにもっとゲーム制作に寄せた記事の方が興味を持ってくれそうですね、アドバイスありがとうございます!