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

Приведение типов - C++

Восстановить пароль Регистрация
 
iwsyhgia
1 / 1 / 0
Регистрация: 11.01.2014
Сообщений: 51
11.01.2014, 19:12     Приведение типов #1
В чем различие привидения типа (type)expression, от type(expression)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2014, 19:12     Приведение типов
Посмотрите здесь:

C++ Приведение типов
Приведение типов. C++
Приведение типов C++
C++ Приведение типов
C++ Приведение типов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,171
Завершенные тесты: 1
11.01.2014, 19:39     Приведение типов #2
Насколько я знаю, ни в чем.
Разве, что в приоритете.
(int)a/b приведет a к int
int(a/b) приведет результат деления к int
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
11.01.2014, 19:58     Приведение типов #3
iwsyhgia, (type)expression это приведение типа, а type(expression) - вызов конструктора.

Добавлено через 11 минут
http://alenacpp.blogspot.com/2005/08/c.html

Добавлено через 3 минуты
У меня такое впечатление, что приведение типов в действительности отживает свое из-за появления шаблонов.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
16.01.2014, 16:50     Приведение типов #4
Цитата Сообщение от outoftime Посмотреть сообщение
У меня такое впечатление, что приведение типов в действительности отживает свое из-за появления шаблонов.
Очень спорное заявление, скорее даже неверное. Потому что эти два механизма не имеют ничего общего. Приведение типов - в общем случае механизм стадии выполнения, шаблоны же (в С++) - строго механизм стадии компиляции, на стадии выполнения о том, шаблонным был класс или нет, неизвестно ровно ничего. От излишних приведений типов в некотором роде спасают паттерны проектирования, но полное отсутствие приведений типов в коде (достаточно большом и сложном в плане архитектуры) является, по моему мнению, недостижимым идеалом.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
17.01.2014, 13:59     Приведение типов #5
silent_1991, я не говорю что не надо знать что такое приведение типа и когда его надо использовать, я имею в виду что при правильном подходе от него можно полностью отказаться.
Цитата Сообщение от silent_1991 Посмотреть сообщение
но полное отсутствие приведений типов в коде (достаточно большом и сложном в плане архитектуры) является, по моему мнению, недостижимым идеалом
Опять таки это не вина шаблонов это в большей степени "мелкие" ошибки проектирования.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
17.01.2014, 14:35     Приведение типов #6
Цитата Сообщение от outoftime Посмотреть сообщение
я не говорю что не надо знать что такое приведение типа и когда его надо использовать
А я и не говорил, что вы такое говорили.
Цитата Сообщение от outoftime Посмотреть сообщение
Опять таки это не вина шаблонов это в большей степени "мелкие" ошибки проектирования.
Это скорее не ошибки, а издержки проектирования. Невозможно написать абсолютно полностью обобщённый код, который оперирует исключительно интерфейсами верхнего уровня иерархии (только в этом случае мы сможем обойтись без приведений типов), потому что такой полностью обобщённый код будет уже реализовывать полноценный искусственный интеллект. Другого варианта я не вижу.
По этому поводу есть хорошая цитата (не помню, кто автор) (вольное цитирование): "Когда пишете свою программу, сильно не увлекайтесь, а не то можете случайно написать операционную систему".

Не по теме:

Разработчикам emacs бы эту цитату взять на вооружение...

outoftime
18.01.2014, 08:08     Приведение типов
  #7

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
Разработчикам emacs бы эту цитату взять на вооружение...
Я сам vim-ом пользуюсь (:

Yandex
Объявления
18.01.2014, 08:08     Приведение типов
Ответ Создать тему
Опции темы

Текущее время: 13:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru