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

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

Войти
Регистрация
Восстановить пароль
 
thick_int
Заблокирован
#1

Методы статиеские и обычные - C++

06.02.2012, 01:34. Просмотров 448. Ответов 2
Метки нет (Все метки)

Во многих языках одни и те же действия реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы).

Правильно ли считать, что статический метод , как правило более эффективен своего нестатиеского аналога?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2012, 01:34     Методы статиеские и обычные
Посмотрите здесь:

GetAsyncKeyState обычные клавиши - C++
Недавно начал учится программированию c++ и для практики решил сделать "что-то типо кей логгера". Естественно чтобы фиксировал нажатия...

Из динамических массивов в обычные - C++
#include <iostream.h> void trans_pointer() { int n,m,i,j; int **X,**Y; cout << "Enter m"<<endl; ...

Отличаются ли обычные функции от функций в классе? - C++
отличаются ли они?

Шаблон функции, принимающей обычные массивы и объекты - C++
Нужно чтобы функция одинаково хорошо принимала массив long и объект vector <string>, чтобы затем удалить повторяющиеся элементы,...

Зачем нужны обычные массивы, если есть динамические? - C++
Всем привет! Вопрос в заголовке. Если динамический массив даёт те же и ещё больше функций и, при том, лучше обращается с памятью, зачем...

Как сделать чтобы в постфиксной записи кроме цифр выводились еще и обычные символы - C++
Есть код который делает конвертацию например 1 + 2 * 3 -->123*+ но а + b* c -->с -- то есть лиш последний введеный символ что здесь не...

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

Как изменить обычные имена массивов на имена с указателями? - C++
надо чтобы указатели использовались #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() ...

методы - C++
как сделать метод, который записывал бы в файл весь экземпляр класса ? VS Express Edition 2008

Алгоритмы и методы - C++
Надо записать на С++(желательно Borland 5.02) алгоритмы и методы: 1.Алгоритм разделенных корней 2.Метод простых итераций 3.Метод...

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

Алгоритмы и методы - C++
Помогите написать программу на Borland C++ чтобы по вот этой формуле: f(x)=4\ast \sin \left(x \right)^4+2\ast \cos \left(x \right)^3+2 ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
06.02.2012, 01:43     Методы статиеские и обычные #2
а что подразумевается под эффективностью? само выполнение метода если и будет отличаться, то совершенно несущественно. разница лишь в необходимости выделять память под сам объект для обычных методов и сопутствующими расходами. но к эффективности самих методов это отношения не имеет.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.02.2012, 07:50     Методы статиеские и обычные #3
Цитата Сообщение от thick_int Посмотреть сообщение
реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы)
Не очень понятно, какой смысл реализовывать статический метод, который прекрасно выполняет свою функцию в своём статическом варианте, ещё и нестатическим. К чему в этом методе this, если статический метод прекрасно обходился без него. Может вас просто смутил вызов статического метода через экземпляр класса и вы подумали, что есть ещё и нестатический вариант метода? Если так, то нет, чтобы вызвать статический метод не через класс, а через объект, не нужно писать вторую нестатическую версию, статический метод можно спокойно вызвать через экземпляр.

Добавлено через 7 минут
Тем более, обычный метод не может иметь перегруженный статический аналог с такой же сигнатурой, компилятор не сможет разрешить неоднозначность. Так в C++, так в C# и так в Java.
Ответ Создать тему
Опции темы

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