C ++ 03、§20.4.6p2
内容は標準Cライブラリヘッダー<stdlib.h>と同じですが、次の変更があります。[ここに適用されない変更のリスト]
C99、§7.20.3.3p2-3
(C ++ 03はC89に基づいていますが、引用できるのはC99だけです。ただし、このセクションは意味的に変更されていないと思います。§7.20.3p1も役立つ場合があります。)
malloc関数は、サイズがsizeで指定され、値が不定であるオブジェクトにスペースを割り当てます。
malloc関数は、nullポインターまたは割り当てられたスペースへのポインターのいずれかを返します。
これらの2つの引用符から、mallocは初期化されていないオブジェクトを割り当ててそのオブジェクトへのポインターを返すか、nullポインターを返します。ボイドポインタとして持っているオブジェクトへのポインタは、そのオブジェクトへのポインタに変換できます(前の回答で述べたC ++03§5.2.9p13の最初の文)。
これはあなたが不満を言った「手振り」ではないはずですが、誰かが私が望むようにCのmallocの定義を「解釈」していると主張するかもしれません。たとえば、Cが「割り当てられたスペースに」ではなく「割り当てられたスペースに」と言っていることに気づきます。割り当てられたオブジェクト」。それらの人々へ:最初に「スペース」と「オブジェクト」がCの同義語であることを認識し、次に私でさえ継続するのに十分な衒学者ではないので、標準委員会に欠陥報告を提出してください。:)
私はあなたに疑いの利益を与え、あなたが「スペース」対「オブジェクト」ではなく、相互参照、相互解釈、そして時には混乱した標準間の統合につまずいたと信じています。