Когда у нас есть постоянные данные, например. в видеИмеет ли указатель на const тот же эффект, что и __restrict?
double const * const
илиdouble const *
это дает компилятору ту же информацию, __restrict
/это имеет тот же эффект?
Насколько я понимаю, __restrict
в основном обещает, что указанные данные не будут изменены другим указателем. Итак, указатель на значение const делает одно и то же обещание, не так ли?
__restrict
здесь относится к ключевому слову в Visual Studio. Я предполагаю, что значение похоже на GCC.
'__restrict', начинающийся с двух символов подчеркивания, по свойству архитектуры, зависящему от архитектуры, и должен быть использован тщательно, если вообще. Вам не рекомендуется использовать его как программиста, поскольку он имеет этот префикс, чтобы указать, что он использовался при реализации какой-либо функции компилятора/языка/реализации и не должен использоваться клиентским программным обеспечением. С другой стороны, 'const' - это стандартная функция языка, которая позволяет компилятору обнаруживать попытки изменить значение константы и предупреждать пользователя о неправильном использовании ценности. –