一部の標準ライブラリ関数がパラメータとしてvoid*を使用していることに気付きました。たとえば、memcpy
関数のプロトタイプは次のとおりです。
void * memcpy ( void * destination, const void * source, size_t num );
パラメータとしてchar*を使用する関数もあります。たとえば、クラスのread
関数ですifstream
。そのプロトタイプは次のとおりです。
istream& read ( char* s, streamsize n );
標準ライブラリがこれらのパラメータを統合しないのはなぜですか。たとえば、すべてchar *を使用するか、すべてvoid*を使用します。特別な理由はありますか?
チェン