【C++】汎用ポインタについて
問題
汎用ポインタとは。。。
理解
あらゆる型のポインタを入れることができるポインタ。
以下のような書き方
// void型の変数を定義する void *p_data; int num = 10; // int型のポインタを入れることも可能 p_data = &10 std::string str = "aaa"; // std::string型のポインタを入れることも可能 p_data = &str; // 入れた値を取り出す時はキャストして使う auto data = static_cast<std::string*>(p_data); // 値を取得する data = *data;
注意
汎用性があり便利だが、積極的に使う場面はあまり想定できない。
使用機会は少なそう。。。
確実に正しい型にキャストしないといけないので、その保障ができる場合のみ使用する。