![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
sergioK1 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
теоретически все написано например здесь (http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=%2Fcom.ibm.vacpp7a.doc%2Flanguage%2Fref%2Fclrc03restrict_type_qualifier.htm)
в реальной жизни насколько это нужно? , если у кого есть пример ? |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Это нужно исключительно для оптимизатора. В подавляющем большинстве вычислительных алгоритмов используются массивы данных. Из за особенности представления данных в С/С++ эти массивы при вызовах вычислительных процедур передаются как указатели. При этом оптимизатор не может применить большинство цикловых (и не только) оптимизаций, т.к. обращение через одни указатель потенциально может затронуть данные по любому другому указателю. Т.е. все данные во всех массивах оказываются потенциально зависимыми
![]() Эта проблема частично решается глобальным анализом (всей программы), но это не всегда возможно (да и не все компиляторы поддерживают). Ключевое слово restrict переносит весь груз ответственности за применимость оптимизаций на программиста ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |