C++ポインタとCポインタの違い:前者のタイプはより厳しい
501 ワード
まずC言語で見てみましょうc以下:
C++言語ではtest.cppは以下の通りである.
int main()
{
int *p;
char *q;
void *v;
v = p;
q = v;
return 0;
}
プログラムokですが、プログラムのスタイル自体が悪く、C++への移植が不便です.C++言語ではtest.cppは以下の通りである.
int main()
{
int *p;
char *q;
void *v;
v = p;
q = v;
return 0;
}
コンパイルエラー:error C 2440:'=':cannot convert from'void*'to'char*'Conversion from'void*'to pointer to non-'void'requires an explicit cast.C++はもっと厳しくて、もっといいです.