Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
D_Ok
44 / 33 / 12
Регистрация: 11.02.2014
Сообщений: 134
#1

Можно ли как-то словить номер элемента используя указатель, а не переменную - C++

23.03.2014, 01:04. Просмотров 236. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
void Print(int *arr, const int *size)
{
    for (int *p = arr, n=0; p < arr + *size; p++)
        cout << "[" << n++ << "] - " << *p << endl;
    cout << endl;
}
собственно, можно ли как-то словить номер элемента используя указатель, а не переменную?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2014, 01:04     Можно ли как-то словить номер элемента используя указатель, а не переменную
Посмотрите здесь:

C++ [C/C++] Можно ли выразить порядковый номер элемента массива через индексы?
Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? C++
Пользователь вводит с клавиатуры N чисел. Определить номер максимального элемента, выдав сообщение вида "Максимальный номер элемента был введен 7-м" C++
C++ Как поменять значения двух переменных не используя дополнительную переменную?
Найти номер последнего максимального элемента последовательности используя одномерный массив C++
Можно ли как-то в дочернем классе получить указатель родителя? C++
C++ Обязательно ли объявлять переменную для хранения адреса переменной как указатель?
C++ Как правильно словить исключение не найденного элемента
Как использовать указатель на переменную во входящем параметре функции? C++
Вычислить выражение используя указатель на переменную C++
Char и указатель на переменную C++
C++ Используя указатель на переменную типа string, удалить последний символ этой переменной

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheChosenOne
13 / 13 / 1
Регистрация: 13.09.2013
Сообщений: 113
23.03.2014, 02:19     Можно ли как-то словить номер элемента используя указатель, а не переменную #2
Можно. Попробуй из адреса текущего элемента вычесть адрес 1го эл-та.
D_Ok
44 / 33 / 12
Регистрация: 11.02.2014
Сообщений: 134
23.03.2014, 09:48  [ТС]     Можно ли как-то словить номер элемента используя указатель, а не переменную #3
Цитата Сообщение от TheChosenOne Посмотреть сообщение
Можно. Попробуй из адреса текущего элемента вычесть адрес 1го эл-та.
а почему показывает сразу номер, а не разницу, в размере типа? (в данном случае почему не 0 4 8 12...)?
zss
Модератор
Эксперт С++
 Аватар для zss
6117 / 5720 / 1850
Регистрация: 18.12.2011
Сообщений: 14,623
Завершенные тесты: 1
23.03.2014, 12:20     Можно ли как-то словить номер элемента используя указатель, а не переменную #4
Цитата Сообщение от D_Ok Посмотреть сообщение
почему показывает сразу номер, а не разницу, в размере типа?
Указатель знает о типе переменной, соответственно все операции по вычислению адреса
выполняются кратно размеру типа.
TheChosenOne
13 / 13 / 1
Регистрация: 13.09.2013
Сообщений: 113
23.03.2014, 17:16     Можно ли как-то словить номер элемента используя указатель, а не переменную #5
D_Ok, или проще говоря компилятор делает так: берет разницу в размере типа и делит ее на размер типа и возвращает?! результат. Так устроен компилятор (Я сам когда-то задавался этим вопросом)
Если хочешь увидеть разницу в байтах,то,насколько я помню, можно привести указатель к void* и вычесть
Yandex
Объявления
23.03.2014, 17:16     Можно ли как-то словить номер элемента используя указатель, а не переменную
Ответ Создать тему
Опции темы

Текущее время: 17:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru