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

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

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

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

23.03.2014, 01:04. Просмотров 244. Ответов 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++ Используя указатель на переменную типа string, удалить последний символ этой переменной
Узнать номер элемента массива на который указывает указатель C++
Найти номер последнего максимального элемента последовательности используя одномерный массив C++
Как использовать указатель на переменную во входящем параметре функции? C++
Можно ли словить разницу в работе временной и невременной переменных в случае C++
C++ Обязательно ли объявлять переменную для хранения адреса переменной как указатель?
Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? C++
C++ [C/C++] Можно ли выразить порядковый номер элемента массива через индексы?
Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? C++
В упорядоченном массиве целых чисел a(i) (i=1….n) найти номер находящегося в массиве элемента C, используя ме C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Модератор
Эксперт С++
6284 / 5887 / 1908
Регистрация: 18.12.2011
Сообщений: 15,113
Завершенные тесты: 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     Можно ли как-то словить номер элемента используя указатель, а не переменную
Ответ Создать тему
Опции темы

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