|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Это полезная фича? | |||
Да | 2 | 40.00% | |
Нет | 2 | 40.00% | |
Не знаю / мне все равно | 1 | 20.00% | |
Голосовавшие: 5. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
25.04.2011, 20:48 | #1 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Сабклассирование базового типа - куда прислать идею для C++0x?
У меня вот идея появилась, что если бы можно было заставить компилятор считать строку "Hello world" в некоем конкретном случае( области видимости/модуле/пространстве имен ) принадлежащей например к типу String, а не char* / wchar* и соответственно все она бы наследовала все поведенческие законы этого базового типа.
По моему это было бы неплохой фичей, если все грамотно реализовать.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
25.04.2011, 21:15 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Для компьютера, "Hello world" - это просто набор битов. Ничего этот набор наследовать не будет. Куда Вы его впихнёте, там он и "жить" будет.
Не нравится какой-то тип данных, сделайте приведение к другому типу. Если хотите изобретать велосипед, изобретайте. Флаг Вам в руки.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
25.04.2011, 21:57 | #3 | |||
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Цитата:
Цитата:
MyInt a=b*(MyInt)104.0+(MyInt)10.0; Цитата:
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось Ivan_32; 25.04.2011 в 22:02. |
|||
25.04.2011, 23:22 | #4 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Впрочем, с нынешней скоростью работы комитета, принято это будет году к 2020-му в лучшем случае. А вообще идея очень похожа на пользовательские неявные привидения в Scala. С другой стороны, в C++0x есть литералы определяемые пользователем, быть может этого будет достаточно для ваших нужд? |
|
26.04.2011, 02:04 | #5 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Ivan_32
динамическую типизацию решил изобрести? Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
26.04.2011, 06:36 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Вот и я о том-же. Просто сразу не вспомнил как это называется. .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
26.04.2011, 08:31 | #7 | |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Цитата:
#define subclass(integer,MyInt); после этой строки все целые литералы, традиционно определяемые компилятором как int, будут неявно приводится к типу MyInt - вот что я бы хотел видеть.
"Тяжело в учении, легко в бою" - А.В. Суворов
|
|
26.04.2011, 14:20 | #8 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Ivan_32
ну напиши пример, в котором будет показано "удобство" этой фичи
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
26.04.2011, 15:09 | #9 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
Код:
Правда, наверно, я бы мог обойтись и собственным литералом, хотя это и исключает возможность по человечески перегрузить string.
"Тяжело в учении, легко в бою" - А.В. Суворов
Последний раз редактировалось Ivan_32; 26.04.2011 в 15:12. |
26.04.2011, 15:26 | #10 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2Ivan_32
я просил тебя показать пример с ТВОЕЙ идеей (который покажет на конкретном коде в чем твой метод лучше), а не пример того, как тяжело и неудобно кастовать типы. Код:
далее, если ты говоришь, что ЛИТЕРАЛ будет не встроенным типом, а твоим классом, то разумно делать так? Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 26.04.2011 в 15:31. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обратиться к полям базового класса? | Azartov | Общие вопросы C/C++ | 13 | 03.07.2011 20:32 |
Delphi. Несколько программ базового уровня | fantic.n00b1 | Помощь студентам | 1 | 03.07.2010 01:27 |
Создание своего класса на основе базового TControl | Lich87 | Общие вопросы C/C++ | 1 | 22.06.2010 18:29 |
Куда отследить куда утекает память? | TwiX | Общие вопросы Delphi | 6 | 02.03.2010 03:10 |
подскажите свежую идею для смо | Барби | Помощь студентам | 3 | 30.10.2008 12:03 |