Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MessageBox API https://www.cyberforum.ru/ cpp-beginners/ thread629083.html
MessageBox API: не получаеться обработать выбор. Мой код: int SELECT = MessageBox(hwnd, _T("Вы действительно хотите завершить работу программы? ВНИМАНИЕ! В случае завершения работы программы,...
Перегрузка потокового оператора (<<). Выдает адрес вместо значения C++
Сабж. Все компелится нормально. Если делать << void то работает ок см комменты если делать класса std::ostream& то возвращает 16чное значение. Заранее спасибо #ifndef Point_HPP // anti...
C++ Реализовать шаблонный класс
В общем требуется реализовать шаблонный класс FixedArray<T,N> FixedArray - абстракция вокруг T Использование выглядит как то так: FixedArray<std::vector, 8> myArr1 = {1, 2, 3, 4};...
C++ stdlib.h - quicksort Идея такова: отсортировать массив A очень быстрым методом Хоара. Пробовал в stdlib.h делать QuickSort - ничего не получилось. Все значения элементов - до 263-1. Т.е. влазят в тип long. Помогите... https://www.cyberforum.ru/ cpp-beginners/ thread629057.html
C++ KeyDown обрабатывает только символы https://www.cyberforum.ru/ cpp-beginners/ thread629012.html
Всем привет. Собственно сам вопрос, когда я вызываю функцию (пишу на WinApI, но вопрос из основ c++) Она реагирует только на буквы, цифры, а мне нужно ещё VK_LEFT, VK_RIGHT. Но почему то эта функция...
C++ Написать dll для дальнейшего использования в программах на других языках
как правильно написать dll чтоб ей можно было пользоваться программам на других языках, например, на delphi
C++ Ошибка в Dev-C++
Скачал книгу "Как программировать на С++" Харви и Пола Дейтелов. Дочитал до первой программы и попробовал её переписать в Dev-C++ //first programm c++ #include <iostream.h> main () { cout...
C++ Подключить dll Здравствуйте. Есть dll, в ней несколько функций, необходимо добавить еще одну, чтобы выводила окно с приветствием. И затем написать win - проект, который будет использовать эту функцию. В нете... https://www.cyberforum.ru/ cpp-beginners/ thread628997.html
C++ Компоновка всей программы в один файл https://www.cyberforum.ru/ cpp-beginners/ thread628937.html
Можно ли сделать так, чтоб при построение программы она, включая все внешние картинки, звуковые файлы, редистрюбитивы VC и пр компоновались в один файл? Тоесть, чтоб я мог на любом компьютере...
C++ Как можно сделать программу более компактнее решил использовать новый способ в программе. так вот как можно этот код сделать болие компактнее: #include <iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL,... https://www.cyberforum.ru/ cpp-beginners/ thread628921.html
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
26.07.2012, 19:26 0

Компилятор просит указать const в конструкторе

26.07.2012, 19:26. Просмотров 3985. Ответов 33
Метки (Все метки)

Ответ

Цитата Сообщение от moskitos80 Посмотреть сообщение
Кстати, то что временный, безымянный объект не получается преобразовать в ссылку - это по-человечески понятно
Ну, вот здесь же по сути, объект temp тоже временный, после выхода из функции он уничтожается.
C++
1
2
3
4
5
6
Fract Fract::lowterms(void)
{
    //...
    Fract temp(this->num, this->den);
    return temp;
}
Но для того, чтобы функция вернула результат, он передаётся в конструктор копирования, по ссылке. И для него const не нужен. А чем безымянный объект "хуже" него, я не могу понять.

По поводу const, по идее его надо использовать везде, где не предполагается изменение данных. Конструктор копирования принимает ссылку на объект, из которого будет произведено копирование. Ясно, что этот объект изменять внутри функции ни в коем случае нельзя. Поэтому тут можно обезопасить себя от потенциальных ошибок с помощью const.

Вернуться к обсуждению:
Компилятор просит указать const в конструкторе
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.07.2012, 19:26

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

Блокирует профили, и просит указать номер телефона
в Google Chrome блокирует все профили, и просит указать номер телефона. Некоторые программы не...

Звуковая карта просит указать подключения колонок
звуковая карта просит указать тип подключения колонок. Карта Gigabyte после выбора типа...

Непонятки с debug. Символы не загружены. Просит указать путь к файлу glut32.pdb
Привет всем. Я новичок в OpenGL, начал его изучать и столкнулся с такой проблемой что при отладке...

Подмена сайта вконтакт, просит указать номер телефона для отправки кода
Добрый день. При попытке зайти на сайт соц сети вконтакт выдается поле, в котором просят указать...

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