今日、VS2010 がround
C++ プロジェクトの関数をサポートしていないことがわかりました。その機能に関する情報はhere で見つかりました。また、機能がないことにも気づきましたtrunc
。
そのため、いくつかのことを試してみて、そのような状況で役立つ可能性のあるいくつかの動作に気付きました.
float a = 2.999;
int b = (int)a; //gives 2
float a = -2.999;
int b = (int)a; //gives -2
これは切り捨てとして機能するので、それを使用できますが、未定義の動作につながるコードは使用したくありません。これが定義済みの動作なのか、未定義の動作なのかを尋ねたいと思います。
編集: VS2008 を使用しているため、C++11 については質問していません。