- 當
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