Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/46: Рейтинг темы: голосов - 46, средняя оценка - 4.87
 Аватар для gomodril
6 / 6 / 0
Регистрация: 10.10.2012
Сообщений: 140

Расскажите популярно про ссылки и указатели

04.01.2013, 16:05. Показов 11403. Ответов 110
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться со ссылками и указателями на различные объекты. Запутался вообще в них полностью. Когда читаю книгу про них, то вроде все понятно написано, но примеров для меня видимо не достаточно, что бы как то их различать. В итоге начинаю решать задачи и ни чего не выходит.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2013, 16:05
Ответы с готовыми решениями:

Популярно объясните про указатели
Что-то плохо даётся мне тема про указатели. Я хорошо уяснил, что вот так создаётся указатель: int *pointer; Я так же хорошо...

Пояснить про указатели и ссылки
есть переменное и указатель.. Значение нашей переменной случайный адрес, Как менять адрес указателя, таким образом, что бы она стала...

Что нужно знать про указатели и ссылки?
Привет, завтра кр по теме указатели и ссылки в с++, пишите сюда что необходимо знать.

110
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
05.01.2013, 17:08
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от taras atavin Посмотреть сообщение
А англичане уже не люди?
Это вообще не понятно к чему.

Цитата Сообщение от taras atavin Посмотреть сообщение
0 может быть натуральным числом.
Здесь все понятно, клиника. Даже спорить не буду. Ага, и даже добавлю, -100 тоже может быть натуральным числом, и даже 1.5.

Цитата Сообщение от taras atavin Посмотреть сообщение
Не путай номер с количеством, апельсин может быть пятнадцатым из миллиарда.
Ну а это к чему? Есть массив из 10 элементов. По Вашей логике, 10 элемента нет. Но он есть, и имеет индекс равный 9.

Ну а так уже даже не смешно, с таким бардаком в голове Вы далеко не уедите, хотя, конечно, хотелось бы обратного.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:10
Цитата Сообщение от Toshkarik Посмотреть сообщение
Это вообще не понятно к чему.
К счёту. Раз они считают 0 натуральным числом, то и считать могут не только с graund, но и с ноля.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.01.2013, 17:13
Лучший ответ Сообщение было отмечено как решение

Решение

Ссылка на массив?
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
int main(){
    const int n=10;
    int arr[n];
    int (&fff)[n]=arr;
    std::cout<<sizeof(arr)<<std::endl;
    std::cout<<sizeof(fff)<<std::endl;
    return 0;
}
3
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:15
Цитата Сообщение от Toshkarik Посмотреть сообщение
Ну а это к чему? Есть массив из 10 элементов. По Вашей логике, 10 элемента нет. Но он есть, и имеет индекс равный 9.
Смотря с чего считать, с единицы считают не все, а индекс определён однозначно.
Pascal
1
a:array['h'..'x'] of real;
последний элемент экстый, начальный эйчтый, а первного нет совсем, так некоторые считают с ноля и номер оказывается не опеределён и не понятно, какой элемент считать первым: эйчтый, или айтый.
0
05.01.2013, 17:17

Не по теме:

Croessmah, точняк, до меня сразу не дошло)

0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
05.01.2013, 17:18
taras atavin, как не все? Количество считают с нуля, нет чего то, 1 штука и тд. Перечисление же идет с единицы. Первая штука, вторая, и тд. Покажите, кто перечисляет с нуля? Вы путаете индексацию массивов в ЯП, и перечисление. Это разные вещи.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:19
Цитата Сообщение от Croessmah Посмотреть сообщение
#include <iostream>
int main(){
* * const int n=10;
* * int arr[n];
* * int (&fff)[n]=arr;
* * std::cout<<sizeof(arr)<<std::endl;
* * std::cout<<sizeof(fff)<<std::endl;
* * return 0;
}
А адреса, по которым располагаются arr и fff? Эти:
C++
1
2
* * std::cout<<&arr<<std::endl;
std::cout<<&fff<<std::endl;
строки должны быть равно не валидными, а std::cout<<&(arr[0])<<std::endl;
std::cout<<&(fff[0])<<std::endl;[/CPP] вернуть одно и тоже.
0
05.01.2013, 17:19

Не по теме:

Kastaneda, ага, тоже не подумал об этом :)

0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.01.2013, 17:22
Цитата Сообщение от taras atavin Посмотреть сообщение
вернуть одно и тоже.
Какие вопросы?
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:22
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы путаете индексацию массивов в ЯП, и перечисление. Это разные вещи.
Не я.
Pascal
1
b:array[-100..-80] of real;
все индексы строго отрицательны, но от этого натуральными отрицательные числа не становятся, а ноль, например, англичане считают натуральным числом, количество же может быть отрицательным, если принять, что минус - это долг, так что признак натуральности к количеству отношения не имеет, натуральное число - это, которое может быть именно номером.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.01.2013, 17:23
Цитата Сообщение от taras atavin Посмотреть сообщение
А адреса, по которым располагаются arr и fff?
Не факт, что под fff будет выделена память в данном случае. Да и брать адрес ссылки - это все равно, что брать адрес разыменованного указателя на уровне транслятора уже.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:24
Цитата Сообщение от Croessmah Посмотреть сообщение
Не факт, что под fff будет выделена память в данном случае
А под неё и не надо выделять отдельную память.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
05.01.2013, 17:26
taras atavin, Вы опять путаете индексацию, номер и перечисление. Разберитесь с терминами. В Вашем примере первый элемент имеет индекс равный -100.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.01.2013, 17:27
Цитата Сообщение от taras atavin Посмотреть сообщение
А под неё и не надо выделять отдельную память.
А в функцию как передать?
Пропустите через транслятор код с указателями и аналогичный код с ссылками - увидите разницу. Точнее её отсутствие.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:28
Цитата Сообщение от Croessmah Посмотреть сообщение
А в функцию как передать?
Обычно. Под arr же память уже выделена, под fff должна быть выделена та же память.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
05.01.2013, 17:28
Под имя массива так же не выделяется память. При трансляции имя заменится на адрес, а каждое обращение на адрес + смещение ( равный индексу в данном случае ).
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:29
Цитата Сообщение от Croessmah Посмотреть сообщение
Пропустите через транслятор код с указателями и аналогичный код с ссылками - увидите разницу. Точнее её отсутствие.
А она не обязательна.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
05.01.2013, 17:30
Цитата Сообщение от taras atavin Посмотреть сообщение
Обычно. Под arr же память уже выделена, под fff должна быть выделена та же память.
Да нет. В функцию же можно передать по ссылке что угодно, а значит не известно на какую память будет ссылаться ссылка. Значит нужно выделить память и под ссылку(под указатель на элемент)
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
05.01.2013, 17:31
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы опять путаете индексацию, номер и перечисление.
Не я.
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
05.01.2013, 17:31
Цитата Сообщение от taras atavin Посмотреть сообщение
Не я.

Не по теме:

Как раз таки Вы.

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2013, 17:31

Подскажите хорошую статью про указатели и ссылки
Посоветуйте статью, видео или книгу по указателям и ссылкам в C++, где все доходчиво разъяснено с реальными примерами. Уже много чего...

Расскажите про new и delete в C++
Есть несколько вопросов: 1) Можно ли перегрузить несколько операторов new в разных пространствах имен, а потом просто писать int *t =...

Расскажите пожалуйста про флаги
Доброго времени суток. Помогите пожалуйста разобраться с фалагми. Вот код: #include &lt;iostream&gt; #define ID_F 1001 #define ID_D...

Расскажите на пальцах про классы
Доброе время суток! (сразу оговорюсь, можете кинуть ссылкой куда мне пойти почитать) Сижу разбираюсь в классах и собственно вопросы:...

Расскажите про IDE Intel Parallel Studio XE 2015
Реклама на сайте Intel Parallel Studio XE 2015 написано хорошо, а тех кто пользовался стоит ли установить себе? Добавлено через...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru