Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
9 / 9 / 6
Регистрация: 27.07.2014
Сообщений: 269
1

Взятие адреса в аргументе

21.09.2014, 08:26. Просмотров 944. Ответов 2
Метки нет (Все метки)

Есть такой код:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
void STOCK::acquiare(const std::string &co,long n, double pr)
    {
 
        company=co;
        if (n<0)
            {
            std::cout<<"Кол-во пакетов не может быть n<0"<<std::endl;
            shares=0;
            } else
                shares=n;
        share_val=pr;
        set_tot();
    }
Можете объяснить, в чем разница, между (const std::string &co) и (const std::string co) ???
В первом случае, объявлена константная переменная типа string и берется адрес
Во втором случае, тоже самое, но не берется адрес и работает также
Но разницы нету, если я ввожу например что то, работает С ВИДУ также... Зачем берется адрес ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2014, 08:26
Ответы с готовыми решениями:

Взятие значение из адреса
Имеется код добавления объекта &quot;точка&quot; в массив точек: void arr_point::add_point(point &amp;p) {...

Взятие адреса у константной переменной при объявлении
Можно пример?

Зачем взятие адреса нулевого элемента массива, если сама переменная и так его содержит?
Доброго времени суток. Очень часто наблюдаю во всевозможных примерах такого вида код: void* bits...

[Двусвязные списки] Добавление по индексу. Взятие адреса по индексу
По заданию требуется: 1) Создать функцию void Insert(Person&amp; person, int index), помещающую...

2
55 / 49 / 42
Регистрация: 18.07.2014
Сообщений: 194
21.09.2014, 09:53 2
Лучший ответ Сообщение было отмечено AVATAR как решение

Решение

Это не операция взятия адреса. Это ссылка.
Если так не делать, то в функцию будет передаваться копия объекта, а копирование больших объектов - штука затратная по времени. А передача ссылки - дело быстрое. const ставится для того, чтобы функция не могла изменить передаваемый ей объект. Таким образом происходит симулирование передачи параметра по значению.
1
9 / 9 / 6
Регистрация: 27.07.2014
Сообщений: 269
21.09.2014, 10:00  [ТС] 3
Разобрался, спасибо!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2014, 10:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

[C++] Взятие адреса конструктора. Физическое время существование объекта.
1. конструктор. class A { int a; public: A():a(555){}; ~A(){}

@ в аргументе метода
подскажите плиз, что означает следующая запись method(..., object @param)? меня интересует именно...

Ошибка в аргументе функции
Доброго времени суток. В университете дали такое задание: Составить программу на основе...

Объект в аргументе функции
window.onload = function () { var F = document.getElementById(&quot;Id1&quot;); ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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