ポインターはアドレス演算子で位置情報だけしか受け取っていないはずです。下のプログラムだとアドレスしか表示されません。

cout<<&a;

なのに、どうして終了する位置がわかるのですか