|
#define NULL ((void *)0)のように定義されることが多く、これによってポインターと数値0を間違えないよう、コンパイラーレベルで判断可能なように配慮した実装が多かった。
#define NULL 0こうなるともはや、ポインターと数値の区別は不可能である。この点においてC++は、(賛否両論はあるが)Cより「退化した」と考えられた。
int func(void) { /* ... */ }C++では任意である。書いても良いし、書かなくても良い。voidを省略すると、値を受け取らない関数を意味する。
int func(p1, p2) int p1, p2; { /* ... */ }
for (int i=0; i<10; i++) { puts("hello, world"); }
#include <iostream.h>現在は前者(旧式)を使うメリットはない。
#include <iostream>