У меня есть функция, которая принимает массив указателей, таких как:
void foo(int *ptrs[], int num, int size)
{
/* The body is an example only */
for (int i = 0; i < size; ++i) {
for (int j = 0; j < num-1; ++j)
ptrs[num-1][i] += ptrs[j][i];
}
}
То, что я хочу передать компилятору, состоит в том, что указатели PTRS [I]
не являются псевдомиазами друг друга и что массивы PTRS [I]
не перекрываются. Как я должен Сделайте это? Мой скрытый мотив состоит в том, чтобы поощрить автоматическую векторизацию.
Кроме того, есть ли способ получить тот же эффект, что и __ ограничение __
на итераторе STD :: Vector
?