Pull to refresh
-11
0
Руссков Андрей @Antervis

Разработчик

Send message
едва ли стек станет больше от того, что используется фп. А если перекладывать то, что можно разместить на стеке, в кучу, получается уж очень медленный ослик.
Статья скорее пытается сказать «в функциональных ЯП плохо организованы базовые алгоритмы». Аля «из гнилых бревен хорошей бани не построишь»
Это круто если в итоге эта строчка не отработает на тысячи часов больше её многострочного, но оптимизированного аналога.
Qt Quick Compiler планируют добавить в публичную лицензию в Qt 5.8
намного проще настроить алгоритм сборки/деплоя, чем каждый раз тянуть костыль из-за отсутствия MOC. Например, qmake определяет переменную $$[QT_INSTALL_LIBS] — директория с библиотеками Qt. Добавляем все нужные библиотеки в INSTALLS, определяем и добавляем шаг сборки make install. Запускаешь билд и всё лежит на своих местах. Архивируй и распространяй.
сложно сказать насколько будет выигрыш в большом проекте, использующем (около) полный набор API, но на одной из своих утилит получил 8 мб вместо 40 (и то потому, что не смог статически прилинковать libmysql и libwinpthread)
Жить с Qt без MOC'a может быть и можно, но зачем? Неужели QtCreator — единственный IDE, поддерживающий компиляцию в несколько этапов?

Предлагаю обратить внимание на статическую линковку. Всё равно лицензия нужна для любого более-менее серьезного проекта
потому что там, где есть C/C++, есть как минимум линукс и половина других яп. А там, где есть Rust, есть амбиции и, собственно, Rust
«кто в опенспейсе сидел тот в цирке не смеется?»
а через пару лет, когда все компиляторы научатся генерировать для оберток столь же эффективный код, что и для new/delete, вы будете заставлять джуниоров переписывать new/delete на shared_ptr/unique_ptr?
но это писал не я
моя изначальная мысль заключалась в том, что с годами в коде на плюсах не должно ничего ломаться…
вот когда я прознал о том, что using namespace вполне делается внутри фунции, жить действительно стало чуточку проще
Ну, лично я готов злоупотребить плохой практикой если увижу, что блок кода наполовину состоит из std:: (в хедер, однако, ни-ни). И рассчитывать на то, что 15 лет назад рандомный коллега не зафигачил в проект using namespace std я бы точно не стал
а сейчас в некоторых ситуациях (связанных, как раз, с нововведениями) имя переменной может восприняться компилятором как имя класса.
не совсем. Иногда у родителя есть несколько способов владения потомком, в зависимости от того, какого формата отображения мы хотим добиться. Я, например, не видел, чтобы виджеты создавались и передавались куда-то настолько далеко, чтобы оборачивание в смартпоинтер имело смысл
только не надо именовать функции с большой буквы, пожалуйста… )
Что до deleteLater — его можно и в стандартные смартпоинтеры сунуть. Через лямбду в deleter'е
так в итоге внутри unique_ptr есть проверка на nullptr и внутри delete есть вторая такая же проверка. Компилятор по идее должен просто выкинуть одну из них из-за её тождественности.
вот как раз несовместимые изменения в основном связаны с тем, что если раньше класса thread, допустим, не было, то переменная с именем thread была полностью легальна.
а зачем писать целый аллокатор, если можно перед push_back написать if (v.capacity() == v.size()) v.reserve(v.capacity()*1.2 /*+100*/) или любой другой закон увеличения объема?

Information

Rating
Does not participate
Location
Томск, Томская обл., Россия
Date of birth
Registered
Activity