Стоимость [де] выделения памяти и потенциальные оптимизации компилятора (c ++)

Определена ли конкретно стоимость [де] выделения памяти? Если стоимость зависит от конкретного используемого компилятора, существует ли общий способ реализации [де] выделения памяти, позволяющий обоснованно предположить стоимость?

Может ли компилятор оптимизировать следующий код таким образом, чтобы вызов ' new 'выполняется только один раз?

char * arr = NULL;
for (size_t i = 0; i < 5000000000; ++i)
{
    arr = new char[100000000]
    ... // Process things here
    delete []arr;
}
6
задан Chris Morris 19 December 2011 в 19:34
поделиться