Является ли вычитание двух указателей на один и тот же тип значимым, если эти указатели указывают на элементы в разных мC++

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

Сообщение Anonymous »

Это немного глупый вопрос, но я думаю, что это интересно. Эти указатели каждая указывает на элементы в разных массивах.
Вычитание двух указателей, как правило, дает значение, которое представляет количество элементов между двумя элементами в массиве.
Например, вот какой -то действительный код, который работает так же, как и ожидалось: < /p>

Код: Выделить всё

unsigned short *p_short = new unsigned short[100];
unsigned short *p_1 = &p_short[10];
unsigned short *p_2 = &p_short[20];

std::cout , если массивы являются массивами разных типов. Это создает ошибку типа.
[*] Это   возможно, если указатели одинакового типа, но указывают на элементы разных массивов.
< /ul>
Однако в последнем случае является ли результатом вычитания значимым? < /p>
Возможный пример с выводом: это пример чего -то что, вероятно, вряд ли даст значимый результат. < /p>
auto p1 = new unsigned short[100];
auto p2 = new unsigned short[100];
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79423660/is-subtracting-two-pointers-to-the-same-type-meaningful-if-those-pointers-point[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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