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

Ссылки vs Указатели - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ return *this; http://www.cyberforum.ru/cpp-beginners/thread621961.html
return *this; Возвращает само себя?
C++ Выключение компьютера Мне нужно выключить компьютер. Операционная система Windows 7. У меня есть вот такой код: HANDLE hToken; TOKEN_PRIVILEGES* NewState; OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES, &hToken); NewState = (TOKEN_PRIVILEGES*) malloc (sizeof (TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES)); NewState->PrivilegeCount = 1; LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME,... http://www.cyberforum.ru/cpp-beginners/thread621953.html
#progma data_seg() , как поместить функцию? C++
#pragma data_seg(".OneSection") char UserName="Ghost Rider"; char Password="12345"; вот так все нормально записывает в секцию а вот если так писать: #pragma data_seg(".OneSection")
C++ Записывание в структуру из файла
Добрый день! У меня проблема с записью из файла bla-bla.txt в структуру.char d; // Массив символов для пробелов struct time { char s; char name; char year; } m; FILE *fd; fd=fopen("bla-bla.txt", "r"); fread(&m.s, sizeof(char),2, fd); fread(&d, sizeof(char),1, fd);
C++ Постепенно прибавлять единицу к элементам матрицы http://www.cyberforum.ru/cpp-beginners/thread621913.html
Помогите ,дорогие Форумчане! Нужно прибавлять единицу к матрице постепенно 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
C++ Стек в два стека Здравствуйте!! Нужно создать стек в диапазоне -50 до 50.Преобразовать стек в два стека.Причем, первый должен содержать только чётные числа,второй - только нечётные. Ни разу не работала со стеками,помогите пожалуйста разобраться. Добавлено через 1 минуту Здравствуйте!! Нужно создать стек в диапазоне -50 до 50.Преобразовать стек в два стека.Причем, первый должен содержать только чётные... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6419 / 3058 / 302
Регистрация: 04.12.2011
Сообщений: 8,330
Записей в блоге: 3
13.07.2012, 23:14     Ссылки vs Указатели
Цитата Сообщение от Avazart Посмотреть сообщение
Ну это не так. Под ссылку даже память может не выделяться, она также не может иметь своего адреса, к ней не применим const, нельзя применить ссылку на ссылку и др.комбинации.Единственное что можно зделать - инициализировать.
Avazart, тут и спора нет. Ссылка не тот же указатель, но ведет себя как указатель с урезанными правами. Она const по определению, поэтому и не стоит ее объявлять как константу, а ссылаться на константу вполне может. Но везде где используется ссылка может быть использован указатель, но с дополнительными операциями * разименования. На ооборот - нет. Но смысл ссылки, как она задумана, в доступе к значению. Удобство в том, что если требуется адрес она автоматически предоставляет адрес без *. Но ведь указатель же может быть передан и для работы с указателем как таковым?
Deviaphan, массивы передаются по ссылке. Ну и что? А объекты которые созданы через указатели:
C++
1
A* b = new A();
Легко переписать:
A* foo(A* a, A* b, int c);//декл

//----------------------------------
//вызов:
C++
1
2
3
4
5
6
7
8
9
10
A* a = new A();
A* b = new A();
cout<<foo(a, b, 0); //что в месте вызова видно?
 
//--------------------
//опр
A* foo(A* a, A* b, int c){
if(c) return a;
return b;
}
смысл в том же, - функция получает указатели на тип, что бы вернуть один из них (или переустановить) но без доступа к значениям. Тогда внутри неё используются только имена формальных параметров и понять в месте объявления ничего не выйдет.
Мой опыт и знания не представляют ничего серьёзного и вопросы я задаю, для более глубокого понимания.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru