C与C++的一点区别
程序员文章站
2022-07-13 23:34:08
...
- 当
void*
指针赋值给另一个类型的指针时,C++规定必须进行强制类型转换,但在C语言中却无必要
// C
char *ptr = NULL;
ptr = realloc(dynamic, total_elemet);
// C++
char *ptr = NULL;
ptr = (char*)realloc(dynamic, total_elemet);
在C++中一个内层作用域的结构名将会隐藏外层空间中相同的对象名。在C语言中并非如此。
在C++中字符常量的类型是
char
,但在C语言中,它们的类型是int
。也就是说,在C++中,sizeof('a')
的结果是1, 而在C语言中,他的值要大一些。
// C
sizeof('a'); // 结果为4(在int型为32位的机器上)
// c++
sizeof('a'); // 结果为1
《C专家编程》P267
上一篇: NULL、nullptr、0
下一篇: nullptr,NULL和0