Больше функции во время выполнения, но я недавно узнал, что существует два сборщика "мусора". Gc рабочей станции и рабочая станция gc сервера являются значением по умолчанию на версиях клиента окон, но сервер намного быстрее на многоядерных машинах.
<configuration>
<runtime>
<gcServer enabled="true"/>
</runtime>
</configuration>
Быть осторожным. Gc сервера требует большей памяти.
Точно. Цитата из стандарта 4.9: «Поведение не определено, если усеченное значение не может быть представлено в типе назначения».
Дэвид Торнли уже полностью ответил на этот вопрос. Однако, чтобы справиться с этой ситуацией в вашем коде, вы должны рассмотреть boost numeric_cast .
double d = double(INT_MIN) - 10000.0;
int a = boost::numeric_cast<int>(d);
Это вызовет исключение во время выполнения, если d
слишком велик для int
].