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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MrAndrey_ka
77 / 77 / 2
Регистрация: 13.05.2009
Сообщений: 536
Записей в блоге: 1
#1

Перегруженные функции и операторы - C++

21.04.2013, 23:44. Просмотров 330. Ответов 3
Метки нет (Все метки)

вопрос может быть тривиальный, но все же: как влияет количество вариантов перегруженных функций и операторов на скорости обработки?

то есть есть ли разница в скорости выполнения между
C++
1
2
3
4
5
6
class Cl{
bool First(int val)
 {return val > 5;};
Cl p; 
for(int i=0; i< 1000; i++)
 p.First(i);};
и
C++
1
2
3
4
5
6
7
8
class Cl{
bool First(int val)
 {return val > 5;
bool First(double val)
 {return val > 5;};
Cl p; 
for(int i=0; i< 1000; i++)
 p.First(i);};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 23:44     Перегруженные функции и операторы
Посмотрите здесь:

Не работают перегруженные операторы - C++
проблема такова: есть перегруженный оператор &quot;=&quot;, при вызове которого выполняется присвоение значений массива, однако же, результат...

Указатели и перегруженные операторы - C++
Когда перегружается какой нибудь оператор, допустим квадратные скобки, то для использования оператора нужно писать такую конструкцию: ...

Перегруженные логические операторы И, ИЛИ - C++
Учу по Шилдту плюсы. Дошел до перегрузки операторов. С некоторыми понятно, но вот некоторые вызывают проблемы. Напишите, пожалуйста,...

Перегруженные операторы - ошибка в коде - C++
Здравствуйте. Подскажите, пожалуйста, в чем ошибка. Нужно описать класс динамического массива и перегрузить операторы. С перегрузкой...

Перегруженные потоковые операторы при наследовании - C++
В базовом классе есть перегружены операторы взять из потока и вывести в поток, в производном классе они также перегружены. Как мне вызвать...

Класс вектор с арифметическими операциями, перегруженные операторы - C++
Добрый день! Нужна помощь. Реализовываю класс вектор с арифметическими операторами с помощью контейнера &lt;vector&gt;. У меня имеются рабочие...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
22.04.2013, 00:00     Перегруженные функции и операторы #2
Насколько я понимаю, они влияют только на скорость сборки и размер программы. Ведь это же просто функции, как от них может измениться скорость работы?
MrAndrey_ka
77 / 77 / 2
Регистрация: 13.05.2009
Сообщений: 536
Записей в блоге: 1
22.04.2013, 14:53  [ТС]     Перегруженные функции и операторы #3
да, но при вызове p.First(i); тратятся же ресурсы на определение какую из перегруженных функция стоит вызывать или нет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2013, 19:05     Перегруженные функции и операторы
Еще ссылки по теме:

Какие методы и перегруженные операторы поддерживает std::set? - C++
Предназначение шаблонного класса.Какие методы и перегруженные операторы он поддерживает? Пример кода

Почему перегруженные операторы ввода/вывода нельзя сделать членами класса? - C++
Добрый вечер, Решаю домашнее задание, и вот вопрос возник. Создал класс и перегрузил ввода/вывод. Но не нашел информации почему...

Перегруженные функции - C++
Помогите написать перегруженные функции и основную программу, которая их вызывает. 1) для вычитания целых чисел; 2) для вычитания...

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


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

Или воспользуйтесь поиском по форуму:
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
22.04.2013, 19:05     Перегруженные функции и операторы #4
Нет, во время процесса компиляции исчезает такое понятие, как перегрузка. Т.е. все функции (но только те, которые мы вызываем) на самом деле разные и располагаются в сегменте кода отдельно друг от друга.
Т.е. если есть такое:
C++
1
2
f(5);
f();
То, допустим, у f(int) будет адрес 100h, а у f() уже другой, например 200h. И после компиляции получится вот что:
Assembler
1
2
call 100h
call 200h
Впрочем я могу быть неправ, может меня более опытные поправят.
Yandex
Объявления
22.04.2013, 19:05     Перегруженные функции и операторы
Ответ Создать тему
Опции темы

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