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

Объяснить, что делает операция *& и чем она отличается от простого указателя? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Имитация контейнеров. Классы http://www.cyberforum.ru/cpp-beginners/thread1730177.html
Я создал через контейнеры, все работает замечательно. Но попросили сделать еще без использования контейнеров, можете помочь с кодом? Где и как его изменить? Вообще не могу сообразить. Создать класс «товар», имеющий цену, название, производителя. Определить конструктор, функцию печати. Создать класс «продовольственный товар», имеющий дату изготовления, срок годности, энергетическую ценность....
C++ Как открыть определенный файл через ShellExecute Такая проблема, не знаю, как открыть (указать путь) к bat файлу ,который хочу открыть. делал так не получается. case 4:{ShellExecute(NULL, "open", "123.bat", "/select, d:\\user116\\Desktop\\123.bat", NULL, SW_SHOWNORMAL);break;} в чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread1730176.html
Вывести массив содержащий длины всех серий исходного массива C++
Снова здравствуйте! Есть задача: "Дан целочисленный массив размера N. Назовем серией группу подряд идущих одинаковых элементов, а длиной серии - количество этих элементов (длина серии может быть равна 1). Вывести массив, содержащий длины всех серий исходного массива." Код представлен ниже. Помогите пожалуйста исправить, запуталась. #include <iostream> #include <cmath> #include <conio.h>...
C++ Копирование определенных строк
Всем привет. Задача скопировать строки из txt файла начиная с 16-ой строки в новый txt файл. Есть код но он копирует весь файл целиком. Есть подозрения что нужно использовать копирование с условием. #include <fstream> #include <iostream> using namespace std; int main(){ char * buffer;
C++ Дана строка, вывести различные слова и число их вхождений http://www.cyberforum.ru/cpp-beginners/thread1730144.html
Помогите,пожалуйста. Нашел код рабочей программы,но тут очень много непонятного для меня,нужно написать использую string,iostream,cctype #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> int main() { char string;
C++ Можно ли построить башню с заданными параметрами? Вдохновленный легендой о вавилонской башне Петр решил построить ее аналог. Для этого он взял N=22 детских строительных кирпичей и выбрал для себя размер основания D=2. И высоту башни H - 8. Он решил для себя, что размер каждого следующего уровня будет отличаться от предыдущего не более чем на один кирпич. Башня изображенная на рисунке удовлетворяет требованиям Петра: имеет основание 2, высоту 8 и... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6171 / 2900 / 283
Регистрация: 04.12.2011
Сообщений: 7,710
Записей в блоге: 3
10.05.2016, 01:14     Объяснить, что делает операция *& и чем она отличается от простого указателя?
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Не совсем понимаю, в чем ценность утверждения "никакой ссылки вообще нет".
Сейчас попробую объяснить, что я имел ввиду. Когда в функции объявлен формальный параметр типа T, то это значит, что функция ожидает объект типа Т или типа, который неявно приводится к..., что в данном контексте одно и то же. Ссылка отличается от обычных типов тем, что там, где объявлено T & вовсе не ожидается ссылка на T (хотя её можно туда передать)), а в большинстве случаев ожидается именно объект типа T. Как уж это реализуется, через указатель ли, через резервирование в статической памяти (безумие) места для глобальных объектов не суть. Важно, что данное объявление меняет контракт.
Дело в том, что с моей точки зрения, инициализация ссылки, - формального параметра внешней переменной не логична. Почему это мы в новой рабочей области, инициализируем ссылку объектом из зоны вызова, а не его копией? Тут имеет место именно соглашение, а атрибутика ссылки только запутывает. Если бы формальный параметр объявлялся как-нибудь T# и называлось это передачей по происхождению (), это работало бы ничуть не хуже и не могло бы быть спутано с ссылкой в пределах одной области, для которой осталось бы T &.
Всё сказанное более чем спорно, но я имел ввиду именно это. Объявление ссылки в области, - объявление синонима, а объявление ссылки формальным параметром не означает, что передавать нужно именно ссылку. В этом смысле там нет требования передавать ссылку. У других типов есть требование передавать тип. В этом смысле, опять же, объявление переменной (не ссылочной) в области и в качестве параметра, наоборот, - родственны и по виду и по действию.
 
Текущее время: 01:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru