"Const" ist eine witzige Sache, weil (so wie ich es verstehe) const-Werte viel mit Makros gemeinsam haben. Statt sizeof(i) stieht der Compiler also sizeof(4) - und damit kommt auch 4 raus. Ebenso operiert sizeof() nicht nur auf konkrete Objekte, sondern auch auf Typen, siehe sizeof(string) in Delphi