|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.07.2011, 20:31 | #21 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Большей глупости я не читал! Чтобы судить о грамотности человека, совершенно нет необходимости знать его лично! Судят о грамотности по ответам человека!
Со мной можно встретиться на www.clipper.borda.ru
|
07.07.2011, 20:53 | #22 | ||
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Цитата:
В любом случае, нет необходимости спорить далее - ТС получил свой ответ, по-моему. |
||
07.07.2011, 21:00 | #23 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Я уже неоднократно писал, что вы слышали звон про оптимизацию, а не знаете, где он! Читайте стандарт, а не делайте обывательских рассуждений!
Со мной можно встретиться на www.clipper.borda.ru
|
07.07.2011, 22:58 | #24 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Сыроежка, студийный компилятор обладает довольно хорошим оптимизатором.
но многие оптимизацие не стандартны, потому и не надо на них надеятся, о чем вам netrino и говорит. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.07.2011, 18:13 | #25 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
Спасибо за информацию. Много чего понял
Сейчас столкнулся с ситуацией. Код:
./main.cpp|22|error: no match for ‘operator=’ in ‘* a = Number:: operator+(Number&)(((Number&)c))’| на строке *a=*b+*c; Подскажите, плиз, что это может быть ? При этом код: Код:
|
13.07.2011, 18:36 | #26 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Объявите оператор присваивания, как
Number & operator =( const Number & ); Я уже ранее вам указывал, как для подобных случаев объявлять эти операторы. В чем проблема? const Number operator +( const Number & ) const;
Со мной можно встретиться на www.clipper.borda.ru
Последний раз редактировалось Сыроежка; 13.07.2011 в 18:38. |
13.07.2011, 18:57 | #27 |
Пользователь
Регистрация: 08.10.2007
Сообщений: 11
|
Ну во первых, копался в лит-ре - нигде не встречал, чтоб четко необходимо было указывать модификатор const.
Чего оно ругается, не пойму. А во вторых, в operator = используется выражение (*this)[i] = B[i]; Т.е. перегруженый оператор индекса. И если в оператор присваивания передавать ссылку на константный объект, то компилятор начнет возмущаться, мол operator[] не константный, что в принципе так и есть, и по другому быть не может. В итоге вижу два решения: 1. Извратиться и уйти от понятного обращения b[i] внутри operator= к дублированию кода из operator[] 2. Извратиться и расщепить b[i] на две функции, одну нормальную , другую - константную r-value only. Ни один не радует |
13.07.2011, 19:12 | #28 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Цитата:
Так что не фантазируйте, а делайте то, что я вам сказал!
Со мной можно встретиться на www.clipper.borda.ru
|
|
13.07.2011, 19:17 | #29 |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
Просто возможно к тому же, что вы забыли объявить константный оператор индекса! Так объявите его! У вас должно быть два оператора индекса: константный и не константный. Константный отличается от неконстатного тем, что возвращается константная ссылка, и сама функция имеет квалификатор const. ТОлько и всего!
Со мной можно встретиться на www.clipper.borda.ru
|
13.07.2011, 19:33 | #30 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Сыроежка
Вы уже добрую половину форумчан обвинили в том, они не знают С++. Только вот вы пока не смогли нам доказать, что вы его знаете. Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Перегрузка оператора += и >> | Jane-sad | Помощь студентам | 4 | 01.03.2013 15:38 |
Перегрузка бинарного оператора + | EC.cpp | Общие вопросы C/C++ | 4 | 10.04.2011 00:32 |
Перегрузка оператора + | Jane-sad | Помощь студентам | 0 | 05.10.2010 13:52 |
перегрузка оператора -> | alex_alpha | Общие вопросы C/C++ | 5 | 23.06.2010 19:07 |
Перегрузка оператора | Crucian | Общие вопросы C/C++ | 2 | 22.10.2007 09:44 |