- 1
- 2
- 3
- 4
- 5
- 6
- 7
typedef SmartPtr<CallRec> callptr;
callptr *m_call;
if (m_call && (*m_call) && (*m_call)->SomeMethod()) {
// ...
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+7
typedef SmartPtr<CallRec> callptr;
callptr *m_call;
if (m_call && (*m_call) && (*m_call)->SomeMethod()) {
// ...
}
GnuGK и смартпоинтеры.
Говнокод перешал под крыло GNU?
программисты индиректили индиректили да не выиндиректили
А то я видел подобное. Гениальная причина: «а он по-другому не копируется»
Строки 71-93.
В общем это boost::intrusive_ptr<T>.
Страуструп в крестах <%/%>/and/or/etc не от хорошей жизни ввел. На его родной датской клаве до многих символов добиратся не легко. Та же фигня на французской клаве и в какой-то степени на немецких клавах.
Да что Вы - кресты один из самых перегруженных значками и символами языков.
Вообще я сильно сомневаюсь что программы там пишутся на датском, думаю у большинства кодеров в мире стандартная английская раскладка.
Нет. На европейских клавах буквы в других местах находятся. Как в той же немецкой - Z vs. Y. И у кнопок слева (между буквами и Enter'ом) другая физическая форма: для тех кто печатает в слепую это большая проблема. Поэтому для большинства англиская раскладка так же трудна как и нативная.
А сам при этом давно не пишет ничего.
~!%^&*() ?: [] {} ;<> - все эти значки используются по несколько раз.
Кстати надо бы еще $зазаюзать, что поставит его в один ряд с такими чудесными языками как рнр и баш.
В крестах он только попытался облегчить проблему, унаследованую из С.
Те же грабли - с теми же символами - и в жабе и жабоскрипте.
Да и на англиской клаве это всего лишь "лучше" а не "прекрасно". Как по мне, это и есть причина почему народ пытается постоянно языки изобрести в которых {} и () не совсем не используются.
Ну не надо.
# которую я кстати забыл там нет.
* и & там означают ТОЛЬКО умножение и операцию И.
~ означает ТОЛЬКО побитовое отрицание, а не деструктор
[] означают ТОЛЬКО массив/мапу, а не лямбды
: использовалось ТОЛЬКО в тернарнике, а не наследование, неймспейс, после public, private
Про то что могут означать в ерстах фигурные скобки вообще молчу
И наконец самое главное - в этих языках нельзя определить поведение этих значков для своих структур, ибо там нету перегрузки операторов.
Я, например, в таком случае посчитал бы частоты используемых символов, и для наиболее частых ввёл бы более короткие или удобные операторы.
Например, очевидно, что [] набирается гораздо быстрее и удобнее, но требуется реже, чем {}, так что вполне квадратные скобки можно оставить для блоков кода, фигурные - для всего остального.
Так вот кто придумал TCL...
gcc позволяет его юзать в именах:
Хм, то есть получается, что нам, русским, очень повезло, что буквы не влезли, и вместо натягивания ужа на ежа сделали кошерную отдельную раскладку ;)
В штатах к слову две раскладки: ISO и ANSI. Типичная (с прямоуголным Enter'ом) это ANSI. ISO почти никто не пользуется, но она есть.
http://preview.tinyurl.com/noy5k36
А то этот бекслэш куда только не пихуют. То бекспейс укоротят, то энтеру левую пипку отрежут. Или вообще с левым шифтом поселят (НЕНАВИСТЬ!!!1).
Ноутовские же клавы уёбищны по определению, хоть внешнюю подключай :(
Походу если я и буду покупать ноут - то насру на все ТТХ, лишь бы клава была удобная и корпус и экран не глянцевые...
1 удобнее
2 продлевает жизнь ноутбучной клаве (ибо внешнюю не всегда с собой потаскаешь)
С экраном согласен, а вот какой корпус мне все равно.
мне кажется ты уже это спрашивал раз 5
Слишком общее утверждение. Мне, кроме всего прочего, пришлось потусить в среде ремонтников железа, ну и соответствующие навыки и познания пришли. Последние три залитых ноута, которые приносили коллегам, отделались именно клавиатурой, потому что в них была специальная полость, в которой кроме клавиатуры и шлейфа ничего не было.
Правда, стоит отметить, что пива не видел с 2012-го, обычно это чай, жидкость для снятия макияжа (адово воняет) или сок.
А мне как-то смешно стало. Всё же, не на столь долгий срок берут ноутбуки, чтобы за клавиатуру в этом смысле волноваться. Не понимаю я этого.
Такие размышления присущи скорее более старому поколению, выбирающему ноутбук на ближайшие 10-20 лет.
P.S. Но клавиатуру на нетбуке сам "исписал" и менял, уж очень привык к ней, из-за этого теперь на нормальных больших клавиатурах пальцы проваливаются.
> какой корпус мне все равно.
Желательно, чтобы края были максимально гладкие. Острые края обдираются месяца за три.
У меня знакомый клаву за год разьебал. Да и кофе фатально - лучше уж на внешнюю прольется.
БратПроц жив?
> лишь бы клава была удобная и корпус и экран не глянцевые
"Собрались как-то при полной луне на кладбище главы всех производителей ноутбуков и, совершив жертвоприношения, поклялись никогда не выпускать ноутбуки с матовыми мониторами и полноценными клавиатурами" - актуальная адаптация одного анекдота про нормально открывающиеся упаковки сахара-рафинада :)
> на одной выпилили insert, поставив вместо него delete на джве клетки высотой
На моей работе есть две такие. Какое странное совпадение...
Оказалось, что Xom94ok и bormand давно работают вместе, но разговаривали друг с другом только на ГК.
Просто не буду покупать ноут.
А если и буду, подключу отдельную клаву, и отдельный большой монитор.
Ну я возьму только если жизнь заставит таскать его с собой по командировкам и т.п. Причем, скорее всего, самую бюджетную и дешевую модельку, чтоб не жалко угробить/потерять...
А дома ноут, имхо, нинужен. Гробик под столом в любом случае удобней, шустрее и дешевле.
сидит как то 15летный стетор с мужиками, а они ему после гомосексуальной педофилии и говорят...
сли тебе требовалась стойкость, что бы не дать в очко - это что нибудь да значит
Само собой логично использовать ноут для тех целей, для которых он предназначен.
>А дома ноут, имхо, нинужен.
Понятное дело.
Просто уже лет 5 как пошла дичайшая мода брать ноут для дома. И десктопу постоянно пророчат смерть. Это печально.
А вот отчасти отголосок этой моды - хасвелл, с безусловно новыми, революционными концептами, но средненькой встроенной графикой (та что получше и вовсе впаивается в плату), низким энергопотреблением, и при этом небольшим ростом скорости числодробления. Всё это чисто ноутбучное.
* занимает мало места: мало поверхностей для протирания пыли, легко убрать в шкаф и освободить стол, если понадобится место
* в течение дня можно несколько раз переползти в другую комнату
* потребляет меньше энергии (любители игр всегда могут иметь стационарный компьютер, который будет греться только во время игр)
А если привыкнуть к клавиатуре (скажем, выбрать серию ноутбуков, которую ещё будут выпускать - чтобы не переучиваться потом), и если работа/учёба/стиль жизни позволяет, можно таскать везде и всегда иметь актуальное состояние работы, правильно расположенные значки и каталоги, настроенные горячие клавиши, полный контроль над системой, ...
Жду моды на док-станции. Принёс ноутбук, воткнул дома - получил доступ к сети, жёсткий диск с фильмами, монитор, колонки; воткнул на работе - получил три монитора, доступ к базам и клавиатуру; воткнул в лесу - получил чемодан с аккумуляторов на 2 дня.
Внезапно, но моник и клава занимают меньше ;) И клаву можно положить как удобно, а моник поставить на удобной для глаз высоте и расстоянии...
Насчет энергопотребления - нынче гробы не так уж и много жрут.
Ах да, ноуты еще и греются и шумят больше из-за хренового теплоотвода. У меня вот на проце комнатная температура почти всегда, и тишина т.к. кулер большой. Разгоняется разве что в самых современных гамах и на конвертации видео.
Скоро не будут. Какой-нибудь ультрабук с заниженным хасвелловским i7 при малой загрузке или в режиме экономии энергии скорее всего будет тихим и прохладным.
А вообще, надо искать свой идеал. У меня есть пример ноутбука (до 100Вт), который при 100% загрузки одного ядра шумит и греется, и пример (20-25Вт), когда замечаешь, что что-то тихонько шуршит - а это оказывается кто-то завис и уже час занимает одно-два ядра.
Только для ненапряжного потребления лёгкого контента. Пейсбук почитать, фильм посмотреть, пасьянс сложить.
Если требуется значительная вычислительная мощь, то тут и трёх титанов в SLI не хватит, а они ещё не научились физику обманывать.
кто мешает иметь и то и то
иногда хочется и сидеть, а иногда - лежать
при этом мой гробик под столом шумит прилично (тем самым жену будит), а ноут в 99% времени даже свой бесшумный кулер не включает
А говорилось же - не разгоняй.
Так там же целых 20% на халяву!!!
блядский жужжащий говнокулер на видеокарте амд
да и всё старье, менять пора
моя видюха-пылесос требует полного разбора, чистки и обновления термопасты не реже чем раз в полгода-год, иначе начинает реветь даже при легких нагрузках
А мне с последней видюхой всё-таки повезло - два больших и тихих кулера (twin frozr). На холостом режиме вообще молчат. Да и под нагрузкой звук комфортный, не воющий. Х.з. как оно будет дальше, но первый год продержалось, только пыль выдувал из нее.
А вот предыдущая зато любила повыть... А до нее была ATI'шка с пассивкой, к которой летом приходилось вешать кулер, и которая через год тупо сдохла от тепловой деформации платы.
только хардкор
но подводит блядский интел
всё никак не выпустит платформу с ddr4
сейчас бессмысленно покупать новый комп - он будет заведомо старый в ближайшие 2 года
кстати, в т.ч. и видюхи - пусть устаканятся технологии вывода ultrahd 4k на комфортной частоте (а не @24Hz)
Дык за 3-4 года комп почти всегда превращается в морально устаревшую тыкву, и менять приходится весь комплект из материнки/памяти/проца/видяхи :(
Апгрейдился я в прошлом году, так что пару лет подождать до ddr4 и новых сокетов - вполне терпимо.
Более того, чтобы угнаться за прогрессом, нужно бежать как минимум вдвое быстрее.
http://www.ideastorm.com/servlet/rtaImage?eid=087700000008YKo&feoid=Body& refid=0EM70000000PCSX
А это его стиль решения любых крестопроблем языка.
Вот у нас есть сишные &&, || а вот есть понятные AND и OR, а чего выбирать? Давайте запилим оба!
Это еще Дональд Кнут подметил:
Whenever the C++ language designers had two competing ideas as to how they should solve some problem, they said, "OK, we’ll do them both".
Правильно. Разрабам давать выбор? Они же как школота! Сами не знают что делают!!
Много языков которые пытались переизобрести синтакс обломались и вымерли.
Много языков которые открыто ставили целью уменьшить набор инструментов разраба что бы уменьшить количество ошибок - либо вымерли либо сменили курс.
- ж.скрипт - максимально убогая стандартная библиотека, отсутствие классов (и не надо рассказывать про то, что они там есть, Ейк говорит, что нету) как примеры.
- Хаскель - сознательно запрещены побочные эффекты, функции как объекты.
- Ява - намерено запрещена прямая работа с памятью, функции и переменные не-методы / поля классов.
ЗЫ хаскель и побочные эффекты. мне всегда казалось что отсутствие побочных эффектов это черта функциональных языков, а не черта конкретного языка?
Правильно сделали в go - убрали точки с запятой и заставили всегда писать на блоке фигурные скобки .
Чтобы люди не высирали вот такие "интересные конструкции".
А потом сиди и думай какой же у неё сайд-эффект или жди когда оно жахнет.
Ну в самом SmartPtr<T> вроде бы все норм.
А вот в с CallRec::Lock и CallRec::Unlock у них замутно получается. Там потом цикл выгребает все записи в табличке, у которых счетчик обнулился и удаляет их. Х.з., зачем так. Все равно объект после последнего Unlock'а уже не нужен, и можно сразу же его вынести... Хотя, может быть, я какую-то тонкость не понимаю...
Поищи еще, например, иерархию наследования для PString