C与C++的一点区别

2016-10-27  本文已影响15人  风亡小窝
  1. void*指针赋值给另一个类型的指针时,C++规定必须进行强制类型转换,但在C语言中却无必要
// C
char *ptr = NULL;
ptr = realloc(dynamic, total_elemet);
// C++
char *ptr = NULL;
ptr = (char*)realloc(dynamic, total_elemet);
  1. 在C++中一个内层作用域的结构名将会隐藏外层空间中相同的对象名。在C语言中并非如此。

  2. 在C++中字符常量的类型是char,但在C语言中,它们的类型是int。也就是说,在C++中,sizeof('a')的结果是1, 而在C语言中,他的值要大一些。

// C
sizeof('a'); //  结果为4(在int型为32位的机器上)
// c++
sizeof('a'); //  结果为1

《C专家编程》P267

上一篇下一篇

猜你喜欢

热点阅读