10

この変換タイプは安全ですか

vector<int*> a;
const vector<const int*>& b = reinterpret_cast<const vector<const int*>&>(a);

テンプレート引数が変更されているため、この場合、静的キャストは明らかに機能しません。しかし、この再解釈キャストを行うことで、私は本質的に同じタイプに恒常性を追加しているだけです。それで、これはすべての実用的な目的のために安全である必要がありますか?

4

1 に答える 1

8

関連のない型への参照を変換するために を使用する場合と同様reinterpret_castに、未定義の動作が発生するため、「コンパイラで動作する」ことを意味するように「安全」を定義しない限り、安全ではありません。

于 2012-09-05T11:16:48.713 に答える