Сообщите компилятору C++, что аргумент не имеет псевдонима.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сообщите компилятору C++, что аргумент не имеет псевдонима.

Сообщение Anonymous »

Одно из больших различий между C/C++ и Fortran, когда дело доходит до скорости, заключается в том, что первые языки используют указатели, которым можно присваивать псевдонимы, и поэтому компилятору необходимо загружать данные на каждой итерации цикла, в то время как в allocatable Fortran такой проблемы нет.
C предлагает ключевое слово ограничения, чтобы вы могли гарантировать компилятору, что указатель не имеет псевдонимов. Стандарт C++ не предлагает такой возможности. Я не хочу использовать расширение поставщика, поскольку меня беспокоит переносимость, но это также важная часть моего приложения. Следовательно, я не хочу полагаться на вещи, выходящие за рамки стандарта, когда они имеют фундаментальное значение для моего приложения.
Есть ли способ гарантировать компилятору C++, что конкретный аргумент-указатель не имеет псевдонима? Будут ли ссылки C++ чем-то полезны (поскольку передача аргументов по значению невозможна, поскольку мы имеем дело с очень большими массивами) или мне следует просто написать эти процедуры на C и вызывать их из моего приложения C++?

Подробнее здесь: https://stackoverflow.com/questions/628 ... ot-aliased
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»