Вопросы по теме 'restrict-qualifier'

Какова семантика ограничения C99 в отношении указателей на указатели?
Я много занимаюсь матричной арифметикой и хотел бы воспользоваться квалификатором указателя restrict C99. Я хотел бы настроить свои матрицы как указатели на указатели, чтобы облегчить индексацию, например: int **A = malloc (ncols * sizeof(int...
2455 просмотров

Является ли это недопустимым использованием указателей ограничения?
Предположим, у меня есть большой массив, в который я вычисляю индекс и передаю его второй функции. В качестве простого примера, что-то вроде: void foo(float* array, float c, unsigned int n) { for (unsigned int i = 0; i < n; ++i)...
2100 просмотров
schedule 20.10.2022

ограничить квалификатор функций-членов (ограничить этот указатель)
Примечание. Чтобы уточнить, вопрос касается не использования ключевого слова restrict в целом, а конкретно его применения к функциям-членам, как описано здесь . gcc позволяет вам использовать квалификатор __restrict__ (эквивалент GNU++ для...
2664 просмотров
schedule 22.05.2022

Ограничение указателей и встраивания
Я пытался использовать ограниченные квалифицированные указатели и столкнулся с проблемой. Приведенная ниже программа является простой и предназначена только для представления проблемы. Функция calc_function использует три указателя, которые...
1159 просмотров

Использование ограничения с массивами?
Есть ли способ сообщить компилятору C99, что единственный способ получить доступ к данному массиву - это использовать myarray[index] ? Скажите что-нибудь вроде этого: int heavy_calcualtions(float* restrict range1, float* restrict range2) {...
2958 просмотров

Почему ключевое слово ограничения не является частью С++?
Название говорит само за себя. Мне любопытно, почему ключевое слово ограничения не является частью С++? Я мало что знаю о С++, и я до сих пор не могу найти в Интернете ничего, что могло бы послужить причиной для блокировки этого. Кто-нибудь знает,...
2893 просмотров
schedule 29.08.2022

__restrict в g++ и MSVC с синтаксисом массива
Я нахожусь в процессе обновления критически важных для производительности библиотек для использования restrict , как это реализовано в С++ 11 с помощью g++ и MSVC с ключевым словом __restrict . Есть много подпрограмм и функций, которые выглядят...
183 просмотров
schedule 10.05.2023

Законно ли назначать ограниченный указатель другому указателю и использовать второй указатель для изменения значения?
Соответствует ли следующий метод контракту «ограничить»? void fun(int* restrict foo) { int* bar = foo + 32; for (int i = 0; i < 32; ++i) *bar = 0; } Я предполагаю, что нет, но мне нужно некоторое разъяснение.
634 просмотров
schedule 08.12.2023

ограничить тип возвращаемого значения и локальные переменные
Я хорошо понимаю, когда использовать ограничение для аргументов функции. Но все статьи, которые я нашел до сих пор, никогда не упоминают другие объявления (такие как возвращаемые значения функции и локальные переменные). Вот один пример:...
209 просмотров
schedule 19.12.2022

Нарушает ли это семантику слова «ограничить»?
ПРИМЕЧАНИЕ . Это очень похоже на ограничить квалификатор и арифметику указателя , но не является дубликатом. Автор этого поста присвоил результат операций над указателем restrict тому же указателю, а я присвоил результат операций над указателем...
95 просмотров
schedule 21.01.2023