2016-11-16 5 views
0

私はC++配列オーバーフローを構築しようとしています。 は、私は次の形式へのアクセスを保護します(クラス+テンプレートを使用して)非常に素晴らしいシステムを構築し のは、私はこのようなA [16]に移動しようと、私はそう"安全な"ポイント算術を使用した配列の構築

ProtectedArray<int,15> A;  

を設定しましょう:

A[16]=10; 

彼は私に例外を投げる。私は

int * a = &A; 
a += 16; 
a = 13; 

が例外をスローされる実行しようとすれば、それはこれを行うには、全く可能であることを 私は状況を作成したいですか? (私が配列ポインタを置いた瞬間を "制御"していないと思っている)...

*私は[]のクラスオーバーラッピングで実装しました(A [10]を呼び出すことができます) 、&(ベースへのポインタを取得する)

+3

いいえ、不可能です。 –

答えて

1

本質的には、型を整数ポインタに変換すると、その型をすべて制御できなくなります。これはまるで標準のC++ int *に似ています境界チェック)。

関連する問題