"\000" は "\0" と同じだよ。
>>54 の言っているとおりだけど。

だから、
const char *p = "\000";
std::cout << (int)p[0] << std::endl;
std::cout << (int)p[1] << std::endl;
std::cout << (int)p[2] << std::endl;
std::cout << (int)p[3] << std::endl;
p[2], p[3] を参照しても鼻から悪魔。