![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
раньше в названии темы было С++12 (мне дажу уведомлялки на почту приходят с этим заголовком). Теперь в названии - С++17. Вот я и спрашиваю, как ты отредактировал название темы ? P.S. ааааа. всё. разобрался. нужно просто нажать "редактировать" на первом же сообщении. своём ессно)) -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
угу.
|
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 4 Всего: 19 |
Каким образом ты отредактировал заголовок топика? У меня не получается...
Я не понимаю, что ты имеешь в виду, я просто хотела сказать, что в рамках языка линковщика нет и ни в каких стандартах нет гарантии, что завтра это будет продолжать работать. Я сама один раз сильно поджарилась на этой фигне)) В программе нужно было инциализировать разные модули, ну я сваяла макрос аля функция инициализации, писала-писала, оно долго работало, но настало время добавления еще одного модуля с инициализатором, оно взяло все и рухнуло )) Пришлось из main вручную вызывать правильную цепочку инициализаторов. Если бы при разработке придерживалась ООП-шной архитектуры системы, проблем бы не возникло. -------------------- You're face to face With man who sold the world |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
будет. я хотел сказать, что что результат полученный путем задания порядка файлов при линковке, нельзя назвать корректным решением. лучше его назвать UB. порядок инициализации статических переменных - UB. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
borisbn уже ответил.
просто клацаешь "редактировать" на топике. там же и название темы изменить можно. у mes`а так вообще супер способности! он посты свои удалять может! Это сообщение отредактировал(а) boostcoder - 17.2.2012, 14:35 |
|||
|
||||
| 502 |
|
|||
![]() Я всегда прав ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 16.7.2011 Репутация: нет Всего: 4 |
||||
|
||||
| bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Было бы хорошо, если бы наконец ввели "правильные" указатели на методы - с привязкой к объекту (bound pointers to member functions). И синтаксис был бы интуитивней, и работы было бы меньше программистам (не пришлось бы использовать всякие boost::bind и boost::function).
Например:
Не трудно заметить, что данный указатель не зависит от типа базового класса! Предложение от Borland: n1384 Это сообщение отредактировал(а) bsa - 20.2.2012, 16:38 |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
bsa, да, логично.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
В BCB такие есть - __closure называются. Насколько мне известно попытка продавить это в стандарт языка успехом не увенчалась Кроме того, есть некоторое количество библиотек, которые это реализуют (обычно под именем типа delegate_чего_нибудь или аналогичным) |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Хотелось бы finally в стандарте и побольше возможностей для статических проверок.
Это сообщение отредактировал(а) azesmcar - 20.2.2012, 13:43 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
Если "инициализатор внутри файла" это конструктор класса, то компилятор всё-таки делает попытку упорядочить вызовы так чтобы избежать использования класса до того, как будет вызван его конструктор. Если там циклическая ссылка, то всё равно всё плохо Это сообщение отредактировал(а) bems - 20.2.2012, 14:12 -------------------- Обижено школьников: 8 |
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 4 Всего: 19 |
Когда пересекусь, спрошу, если не забуду. По памяти: есть функции со специальным именем - Initizalization или не знаю как, - они выполняются в начале работы программы, их порядок можно как-то задать, например в одном модуле ты создаешь объект в инициализаторе, в другом - как-то его настраиваешь (пример из пальца). Тут про функции гоdорят... Хочу а) нормальную ламбду с замыканием, б) нормальную переменную-функцию, в которую (с определенной сигнатурой) можно было бы хранить функцию и указатель на метод, связанный с объектом (то, о чем bsa писал), в) продолжения. Надоело на коленке каждый раз все это городить. Добавлено через 1 минуту и 12 секунд Но я, как известно, никто и мою "хочу" никого не ебеинтересует. -------------------- You're face to face With man who sold the world |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
ну да, там порядок задаётся. Но вообще оно не для этого. -------------------- Обижено школьников: 8 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Видимо имеется в виду то, что в Delphi unit (это модуль, которых увы нету в С++) должен явно указывать все unit'ы, которые он использует. И на этапе линковки инициализация всех unit'ов программы выполняется с учетом их зависимостей. |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: нет Всего: 88 |
да, но это не то, о чем была речь. Речь была именно о конструкторах классов (не экземпляров), а это другое (хотя реализовано почти так же) Добавлено через 5 минут и 15 секунд я бы так смело не говорил на каком этапе -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |