valarray on icc

どうやら Intel コンパイラではアドレス取得が不可能な模様…かくなる上は、滅多に使わない const_cast。

const std::valarray<int> v(100);
const int* p = &(*const_cast<std::valarray<int>*>(&v))[0];

多分これで、標準準拠でもデータの先頭アドレスを取得できるはず…。GCC では問題なく通る。