Dmitry_Milk
> Не могу распарсить. В частности, не пойму, откуда берется Traits и его Traits::close.
Ну в самом низу там
struct invalid_handle_traits { using pointer = HANDLE; static auto invalid() throw( ) -> pointer { return INVALID_HANDLE_VALUE; } static auto close( pointer value) throw( ) -> void { VERIFY( CloseHandle( value)); } }; using invalid_handle = unique_handle<invalid_handle_traits>;
Использование примерно такое
> Dmitry_Milk
> > Не могу распарсить
Это вместо goto - ты не можешь распарсить.
Такая вот загогулина. Ты просто не можешь распарсить и всё.
А, там гвоздями прибит CloseHandle. А если что-то другое, что не попадает под CloseHandle - самому реализовывать вариант трейта.
Ну, тоже наверное можно, но я несколько лет назад реализовывал то, что написал выше, ради попрактиковаться в вариадиках. Только потерял куда-то за ненадобностью. Там использование было что-то типа такого:
using WindowHandle = SmartHandle<DestroyWindow>; WindowHandle window1 = WindowHandle::Create<CreateWindow>(........);
=A=L=X=
> Это вместо goto - ты не можешь распарсить
Так и не должен, это ж кишки.
Dmitry_Milk
> Так и не должен
Я затыкаюсь.
Zefick
> Когда индейцы исправляя один баг добавляют в код ещё два это становится уже проблемой шерифа. Просто отругать индейцев не получится, они тогда вообще перестанут что-то делать боясь всё сломать.
В программировании это очень просто решается бекапами.
Zefick
> Это в вашем заборостроительном вам такое говорили? Порядок операций всегда важен, вне зависимости от используемого архитектурного подхода.
Операция это например подразумевается когда создаётся переменная, тут важен порядок. Функция атаки или вызов инвентаря, без разницы порядок вызова. Эти функции независимые, но когда появляться ролевая система и пошаговый режим, то появляется общая переменная для этого режима "очки хода", где эти функции считывают и записывают данные. Функция атаки активирует этот режим, но сейчас не об этом речь. Это очень упрощённо так как это трудно сделать одной функцией, но и речь тут тоже не об этом. И какая тут аналогия с гото? В какой то методичке по с++ написано, что так нельзя использовать переменные?
skalogryz
> ну конечно тебя интересует, одна очень важная вещь - время.
> время - сколько займёт внесение этих самых правок.
Сделаю работу быстро, дёшево, хорошо, выбирайте любые два пункта
RikiTikiTak
> В программировании это очень просто решается бекапами.
Как сказать, что ты не программист, не говоря об этом напрямую :)
Может ты ещё скажешь, что git revert автоматически сам все проблемы решает и там даже не надо думать? Или ты даже не знаешь что такое гит?
RikiTikiTak
> Сделаю работу быстро, дёшево, хорошо, выбирайте любые два пункта
я выбираю "хорошо и дёшево". Но теперь нужно обсудить дедлайн.
Сроки есть всегда, ибо бюджеты/терепение не бесконечны
Zefick
> Как сказать, что ты не программист, не говоря об этом напрямую :)
> Может ты ещё скажешь, что git revert автоматически сам все проблемы решает и там даже не надо думать? Или ты даже не знаешь что такое гит?
Чем не пользовался того не знаю.
skalogryz
> я выбираю "хорошо и дёшево". Но теперь нужно обсудить дедлайн.
> Сроки есть всегда, ибо бюджеты/терепение не бесконечны
За копейки хочешь что бы еще что то обсуждали. Будь доволен что сделают хорошо.
goto
ronniko
skalogryz
Sbtrn. Devil
решил убрать (заменить) некоторые goto в старых файлах. Тут же поймал ошибку в работе программы. ))
решил убрать (заменить) некоторые goto в старых файлах. Тут же поймал ошибку в работе программы. ))