![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Системный - это системный. Чтоб его не подменили, например. Уже полезно отделить сие будет. А наш - он наш ![]() ![]() Дык просто развить идею прекомпилед-хейдеров. gcc и vc++ точно отлично справляются с этим. EDG-производные, насколько я знаю тоже (причём несколько методов). Я думаю хватит. Несложно это. В любом случае при трансляции компилер хранит этот бинари-хейдер в памяти. Многие юзают кэш автоматом. |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Не. Многовато геморроя. Да и разделение на "наши", "ваши" и "непонятно чьи" все равно будут подменять, если очень захочется. Бинарный файл заменили и - опаньки. Не, не стоит.
Ну... может быть. Хотя все равно не этим стандарт должен заниматься, и этим он заниматься не будет. У него (комитета) и без этого головной боли немало. |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
подменить на самом деле очень просто, неважно, системный или не системный директория то известна -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
archimed7592 |
|
||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Упомянутая тобой проблема решается с помощью Variadic Templates + Concepts ![]() Языковых - нет. Библиотечные возможности. Вообще под атомарной операцией я имел ввиду "обменять значеними две целых переменных"(xchg - то, чего не сделаешь в текущем C++). Атомарная операция - это никак не синхронизированный блок кода.
Старые enum'ы остались и вся их семантика тоже. Появились новые, более строгие. Так, что то, чего ты хочешь тоже достигается несложно ![]()
![]() Оооо... как же это я забыл ![]() В общем готовиться целая система под названием "Modules". Это будет что-то с чем-то. И скорость компиляции сильно возрастёт. И вообще всё там будет зашибись... Одна проблема: к 2009 году эта фича готова не будет. Её выпустят либо вместе с TR2, либо как отдельный TR. Там будет всё, что ты упомянул и многое другое ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||
|
|||||||
Любитель |
|
||||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Ну если так - то и компилер заменить можно ![]()
Не решается. Если я правильно понимаю, мы получим на 2 аргумента одну функцию, на три другую и т. д. Мне бы хотелось одну, но с контенйером. Здесь идеологически шаблоны не нужны. ![]()
Мне бы хотелось для новых юзинг (пусть и крайне редко). Есть или нет? |
||||||
|
|||||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
А жаль кстати. Хотелось бы некий аналог подобных блоков из шарпа - очень наглядно ![]() Ещё хотелось бы что-то типа атрибутов из того же шарпа ![]() Добавлено через 4 минуты и 46 секунд Немного посмотрел. Супер. Тяжело будет правда, наверно, портировать текущий код :( |
|||
|
||||
caustic |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.12.2007 Репутация: нет Всего: нет |
Доброго дня!
Я заметил, что в новом стандарте многие предпочитают видеть аналог ключевого слова sealed. На днях случайно обнаружил, что в 2005 студии такое ключевое слово есть и даже работает. Проверил таким образом:
Сообщение компилятора: Error 1 error C3246: 'TestState' : cannot inherit from 'State' as it has been declared as 'sealed' Вопрос: Это реализовано только под студией или же в других стандартах тоже имеется? Это сообщение отредактировал(а) caustic - 5.12.2007, 09:34 |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Это реализованно студией в рамках поддержки managed C++. По идее она должна предупреждать, что Вы используете нестандартную возможность языка, пришедшую из .NET'а. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Loony |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Ничего подобного. Сам тоже щас проверял. Предупреждений не было. Проект создавался просто как Empty Project, то есть получаем после компилляции машинный код, а не .NET сборку. Значит возможность эта в студии все таки реализована. Тоже интересно, где нибудь еще поддерживается!? |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Если бы Вы читали чуть внимательней, то не делали бы таких резких утверждений. Эта возможность в студии действительно реализована. Но реализовали её не потому что им просто так захотелось добавить возможность в язык. Реализовали её потому что она нужна была для полноценной поддержки managed C++. Ну а то, что эту возможность не запретили использовать в unmanaged C++ проектах - это уже их личное дело и никто не станет реализовывать эту возможность в других компиляторах. Это точно такое же расширение, как, к примеру, пространства имён у перечислений.
Да, эти возможности доступны в обыкновенных проектах и я не утверждал обратного. Я говорю о причине появления этих возможностей и, соответственно, о следствиях - эти возможности не появятся в других компиляторах просто так. Strongly typed enums есть в черновике стандарта и скоро они появятся, а вот sealed - нету и, соответственно, это останется расширением студии. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Loony |
|
||||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 6.12.2007 Репутация: нет Всего: нет |
Видимо мы немного не поняли друг друга. Я извиняюсь, если прозвучало резко, лишь хотел подчеркнуть наличие этой возможности в студии и отсутствие варнингов со стороны компилятора. Я не утверждал, что студия это стандарт де-факто и все ее возможности должны поддерживать другие компиляторы!
Ну о возможной реализации можно еще поспорить, мало ли компиляторов на белом свете. А узнать о ее наличии или отсутствии было интересно. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |