Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Список координат точек плоскости Создать список, в информационной части элементов которого нахо- дятся координаты одной точки плоскости. Найти одну, любую точку, рас- стояние от которой до заданной точки наименьшее. Вопрос заключается в том, кто может объяснить более детально условие данной задачи? https://www.cyberforum.ru/ cpp-beginners/ thread1487078.html Поиск установленных драйверов C++
Здраствуйте! Передо мной стоит задача: написать программу для поиска установленных на компьютере драйверов. Но как это сделать, не имею никакого представления. Подскажите с чего начать, может статьи какие то киньте, или исходники подобных программ. Буду очень признателен за любую помощь.
C++ Кодирование Хаффмана https://www.cyberforum.ru/ cpp-beginners/ thread1487009.html
Добрый вечер. Я за эту неделю малость зафлудил форум наверно. Прошу прощения за это. Просто уже не знаю, куда ещё обратиться со всем этим. Нашёл на этом форуме исходник кодирования Хаффмана. Как я понял, он работает по динамическому методу Можете показать, как его переделать под статический (или наоборот, если я ошибся)? #include <stdio.h>
C++ Посоветуйте литературу по работе CodeBlocks https://www.cyberforum.ru/ cpp-beginners/ thread1486999.html
как то с Visual было все просто узнал как создать пустой проэкт и пошло поехало как то умение работать с ним расширились... CodeBlocks вообше темный лес....
C++ Быстродействие операции умножения
что будет выполняться быстрее? x=y*z;или Fun_Plu(int y,int z); { int x=0; for(int i=0;i<z;i++) x=y+x; return x; }
C++ Подмена слов https://www.cyberforum.ru/ cpp-beginners/ thread1486957.html
Всем здравствуйте. Есть игра, падают слова, ты нажимаешь на букву и летит следующее слово, нажатие на клавиши я сделал, всё работает, но как сделать чтобы слово вида "Х_лодильник", менялся на "Холодильник", не понимаю, запутался.
C++ Написать программу по данной блок-схеме есть алгоритм решения задачи для первого курса. Дальше дело не идет. Можете помочь, хотя бы общие принципы. https://www.cyberforum.ru/ cpp-beginners/ thread1486944.html Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел C++
Напишите пожалуйста простой код на с++ вот условие Из заданного интервала натуральных чисел выбрать и напечатать все пары дружественных чисел. (Два натуральных числа называются дружественными, если каждое из них давно сумме всех делителей другого, за исключением его самого, например, 220 и 284).
C++ Shared_ptr для полиморфных объектов https://www.cyberforum.ru/ cpp-beginners/ thread1486941.html
Началось всё с того, что понадобилось хранить указатели на полиморфные объекты, якобы объект создаётся где-то там, и контейнеру всё равно, кто его будет удалять. Условился на том что время жизни объектов будет всегда больше чем у самого контейнера. Но захотел сделать хранение объектов более гибким, остановился контейнере из "умных указателей" shared_ptr. Но столкнулся с проблемой при копировании...
C++ Определить все пары "близнецов" из заданного интервала натуральных чисел Помогите написать простой код на с++. Условие: Два простых числа называются "близнецами", если они отличаются друг от друга на 2 (например, 11 и 13, 17 и 19, 41 и 43). Определить все пары "близнецов" из заданного интервала натуральных чисел. https://www.cyberforum.ru/ cpp-beginners/ thread1486932.html
C++ В отсортированном одномерном массиве выполнить поиск заданного элемента методом Фибоначчи
В отсортированном одномерном массиве X(100)выполнить поиск заданного элемента методом Фибоначчи. Подкиньте идею алгоритма поиска, не могу сообразить.
C++ Удалить все нечетные элементы одномерного массива https://www.cyberforum.ru/ cpp-beginners/ thread1486913.html
1) Удалить все нечетные элементы.
Эксперт С++
8971 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
25.06.2015, 01:21 0

Перегруженный оператор присваивания - C++ - Ответ 7804826

25.06.2015, 01:21. Показов 990. Ответов 17
Метки (Все метки)

Ответ

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ошибаетесь. Это второй аргумент. Поскольку оператор - метод класса, то имеется неявный аргумент this. Он автоматически генерируется компилятором.
Вы ошибаетесь.

1.
Стандарт ничего не говорит по поводу передачи скрытого this.
И оставляет это не откуп компиляторов.

2.
Соглашения о вызовах не являются частью стандарта.
Более того, невзирая на соглашение о вызове,
компилятор вправе оптимизировать передачу скрытого аргумента this.

Именно по-этой причине,
компиляторы не дают просто так кастить указатель на функцию-член,
к свободной функции.

Потому что программист в общем случае не может закладываться на то,
как именно будет передана информация об адресе объекта для которого запускается функция-член.

И попытки обойти защиту компилятора - это хак на свой страх и риск.


3.
Соглашения о вызовах случаются разными.
И технически нет никаких препятствий для того,
что бы передавать this, например, всегда последним аргументов, либо как то ещё.

Поэтому, несмотря на то, что обычно он - первый,
нельзя сказать, что он всегда и априори будет первым аргументом.

4.
Так или иначе, но это - кухня компилятора, а не часть языка.

Формально, с точки зрения правил языка,
никакого скрытого аргумента не существует.
Существует ровно то, что написал программист.

Вернуться к обсуждению:
Перегруженный оператор присваивания C++
0
Заказать работу у эксперта

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.06.2015, 01:21
Готовые ответы и решения:

Перегруженный оператор присваивания
Добрый вечер! Встретил пример в книге, где есть перегруженный оператор присваивания. В итоге код...

Не работает перегруженный оператор присваивания
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; class OutOfBoundsException {}; class...

Не выполняется перегруженный оператор присваивания
Подскажите пожалуйста, почему ругается компилятор? Я только начал изучать С++ по книге Шилдта, и...

Очередь, конструктор копирования и перегруженный оператор присваивания
#include &lt;iostream&gt; using namespace std; typedef char type; struct Node { type element;...

17
25.06.2015, 01:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2015, 01:21
Помогаю со студенческими работами здесь

Нужно ли реализовать также отдельно конструктор копирования, если имеется перегруженный оператор присваивания?
у меня есть класс. и прототип перегруженной операции присваивания some_class&amp;...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор...

Перегруженный оператор +
Здравствуйте. Нужно разобраться как работает перегруз операторов. Я взял оператор + и пытаюсь...

Перегруженный оператор +
Товарищи программисты не могу понять вот этот кусок кода: dist4 = dist1 + dist2 + dist3; у нас...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru