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

Как определить конверсию к типу? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ D-Link c++ http://www.cyberforum.ru/cpp-beginners/thread153300.html
как можно приконнектится к роутеру D-Link с помощью языка с++...весь инет перерыл не нашел ничего путного
C++ Балансировка бинарных деревьев Вот если кому то потребуется вылаживаю рабочую балансировку бинарных деревьев, если есть советы по улучшению то сс удовольствием выслушаю)) //______________Реализация балансировки__________________ void tree::Balance() { if(root!=NULL)Balance(root, NULL);//Проверка не пустое ли дерево, если нет то запуск балансировки с передачей адреса корня } int tree::Balance(elem* r,elem* p) { http://www.cyberforum.ru/cpp-beginners/thread153292.html
Рекурсия=( C++
Всем доброго времени суток=) помогите написать программу, ну или хотя бы объясните задание, а то я его не очень понял =( составить рекурсивную функцию, определяющую в заданной символьной строке кол-во символов, являющихся цифрами и заменяющую каждую букву младшей десятичной цифрой данного числа Заранее благодарен=)
C++ Графы
Решается судьба степеньдии от этих задач, помогите пожалуйста. 1) Для неориентированого графа определить степени вершин. В случае равенства всех степеней , изменитьстепень равенства одной из них. 2) Для неориентированого графа удалить все вершины не смежные с данной.
C++ Работа с EditBox в Visual Studio 2006 http://www.cyberforum.ru/cpp-beginners/thread153229.html
Я работаю с MFC інтерфейсов и ставил неактивними EditBox с помощью галочки в properties но теперь постала проблема в том штоб заставить ее исчезнуть в ходе работи програми. Какие есть функции для работи с EditBox и Button. Возможно книгу посоветуйте где есть етот вопрос. Спасибо. Извените за написание.
C++ Оператор присваивания Почему в этом случае вызывается оператор присваивания Fraction f4; f4 = f1+f2+f3; а в другом не вызывается: Fraction f4 = f1+f2+f3; Вот весь код: #include <stdafx.h> #include <conio.h> using namespace std; class Fraction { подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
13.07.2010, 00:41     Как определить конверсию к типу?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Следование стандарту - это глупое идолопоклонство? Интересная позиция. Так может ну его, стандрат, будем отсебятину лепить?

Это единственная причина при необходимости сделать оператор константным. Подчеркиваю, при необходимости.
Нелепым идолопоклонством я называю неспособность осмысливать то, что написано в стандарте и бездумное отношение "я видел такую строчку в стандарте и поэтому буду писать только так!".

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

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

Добавлено через 17 минут
Поясню, почему я называю такое отношение идолопоклонничеством и фетишизмом.
Стандарт разрабатывает комитет, состоящий из опытных и умелых специалистов. Каждый пункт имеет какую-то цель, обычно вполне очевидную. Пример: Почему нельзя делать статические методы const? Потому что это не имеет смысла, ведь статические методы не применяются к конкретному экземпляру объекта. Разработчики стандарта - не небожители, вращающие тайныя колёса, и исходят из вполне доступных для понимания соображений.

Чему могло бы послужить столь нелепое ограничение на константность операторов преобразования? Ничему, смысла в таком ограничении нет совершенно никакого, и даже более того - оно противоречит практике хорошего программирования. Мы имеем пример других операторов (например, арифметических), которые также можно делать по выбору константными или нет. И операции, производящие новое значение, вроде + и -, как раз-таки обычно делают константными. Придерживаться противоречащих здравому смыслу домыслов исключительно из-за веры в Непостижимое Высшее Благо Стандарта и неправильно понятой строчки кода, в моей интерпретации и есть фетишизм и идолопоклонство.
 
Текущее время: 07:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru