C++指针和C指针的区别:前者类型要求更严格

       先看看在C语言中, test.c如下:

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 C2440: '=' : cannot convert from 'void *' to 'char *' Conversion from 'void*' to pointer to non-'void' requires an explicit cast.  C++更严格, 更好。


     


你可能感兴趣的:(C++指针和C指针的区别:前者类型要求更严格)