Форум программистов, компьютерный форум 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
Эксперт С++
1593 / 985 / 117
Регистрация: 27.09.2009
Сообщений: 1,901
Завершенные тесты: 1
13.07.2010, 15:58     Как определить конверсию к типу?

Не по теме:

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Nick Alte, язык определяется стандартом, который, как ты заметил, разрабатывали далеко не глупые люди, посему стандарта стоит придерживатся. Никакого слепого идолопоклонства в этом нет.
Не придерживаться стандарта просто не получится: компилятор не даст (вопрос специфических для компилятора расширений оставим за бортом, едва ли отклоняющийся от стандарта код случайно совпадёт с расширением). В том, чтобы придерживаться стандарта, действительно нет слепого идолопоклонства. Оно есть в том, чтобы придерживаться нелепых и неверных трактовок стандарта без малейших попыток осмысления.

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Делая оператор преобразования константным ты позволяешь безмолвно преобразовать объект одного типа в объект другого типа, не смотря на то констатные они или нет, в том числе константу в неконстанту.
Смысл оператора преобразования в том, что он порождает новое значение другого типа, никоим образом не изменяя старого. И порождаться это значение может и из константных, и из неконстантных объектов. То есть, метод явно константный и так его и следует определять. Придавать ему другой смысл нужно крайне редко в силу очень особых необходимостей и то с оговорками в документации.

Цитата Сообщение от CyBOSSeR Посмотреть сообщение
На мой вопрос о причине константности оператора, ты ответил, что все, что возможно, нужно делать константным. Разве это нельзя назвать идолопоклонством?
Нельзя, потому что у этой рекомендации есть рациональные причины. Следование ей позволяет более явно и формализованно выражать свой замысел и позволит компилятору выявлять ряд потенциальных ошибок. Модификатор const для этого и придумывался и Страуструп поясняет, что его "вирусообразное распространение по коду" (то есть, то же самое, о чём я и говорил: константным делается всё, что возможно) соответствует замыслу.




Цитата Сообщение от Bazan Посмотреть сообщение
Теперь надо разбираться с логикой
Логика очень простая. Оператор сложения порождает новое значение и возвращает его по значению. Поскольку он не изменяет значения своих операндов, он является const-методом, каковых рекомендаций и придерживается приведённая CyBOSSeR сигнатура.
C++
1
2
3
4
MyInt MyInt::operator + (const MyInt& op2) const
{
    return MyInt(data + op2.data);   // Ничего сложного...
}
 
Текущее время: 23:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru