Pull to refresh
120
0
Сергій Олендаренко @GooRoo

User

Send message
Я собирался написать статью про лямбды в C++, но меня опередили. Пожалуй, я все-таки напишу, ибо эта недостаточно подробная.
Черт возьми, ниже такое уже написали :)
Теперь фактически вот это валидный код на C++:

int main(){[](){}();}

Читал книгу Макса Шлее по Qt4 — надо сказать, на фоне других очень даже ничего излагает. Но к сожалению, это исключение из правила. Зачастую отечественные авторы абсолютно не радуют.

Перевод зарубежных тоже немаловажен. Иногда попадается такое, что только печку топить.

P.S. Искал вот недавно книгу по Haskell на русском. Посмотрел на имеющиеся в продаже книги… В итоге читаю «Real World Haskell» на языке оригинала.
И проверьте на всяк случай, не стоит ли habrahabr.ru в заблокированных…
Полагаться на генератор псевдослучайных чисел от Microsoft? Нет, спасибо :)
Надо чтобы порядок браузеров менялся рандомно при каждой загрузке этой страницы (хотя бы альтернативных браузеров — понятно, что IE все равно будет первым).
Ересь и бред — это сначала убивать, а потом увольнять ;)

А вообще, мои друзья из компании, название которой нельзя называть, предложили реализовать то же самое через шаблоны при условии, что нет необходимости задавать тип во время выполнения. Там все ваши парадигмы соблюдены.
Я не против заплатить, если оно того стоит… Но в этом случае, мне так не кажется.
Раз уж пошла такая пьянка…

#include <QtGui/QApplication>
#include <QtGui/QLabel>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QLabel lbl("Hello, Habr!");
    lbl.show();
    return app.exec();
}


И всего две калории за 0.00$ ;) Зачем платить больше?

P.S. Хотя по объему кода с Haskell, конечно, все равно не сравнить…
Если я не ошибаюсь, в «привычном бейсике» был Do … Loop

…это не говоря о том, что после условия в If должно быть слово Then, а End If пишется отдельно.
Прочитайте мою предыдущую статью. Там я писал, что если метод в базовом классе объявлен как виртуальный, то в производных он тоже будет виртуальным независимо от того, поставите ли Вы в производном классе слово «virtual». А ставят virtual в производных классах только для того, чтобы программист, который не видел код базового класса, знал, что этот метод виртуальный.

Поэтому в данном случае нет разницы, как Вы напишете: ~CheshireCat() или virtual ~CheshireCat() — в классе Cat деструктор все равно виртуальный.
Спасибо за то, что прочитали ;)
Сделайте это прямо в деструкторе производного класса.
Я не говорил о мегапроектировании, но лучше все-таки хотя бы локализовать область возможных изменений.

Я приверженец идеи о том, что на любую подобную технику найдется своё применение.
В этом случае я бы предпочел другую формулировку виртуального метода: виртуальный метод — это метод, нужная версия реализации которого выбирается на этапе выполнения, а не на этапе компиляции.
Если открыть конструкторы производных классов, то можно будет создавать объекты классов не через виртуальный конструктор. Если Вас такое поведение устраивает, то Вам вообще нет смысла использовать такую технику.
Пардон, параметризованного
В книге GoF при реализации параметрического Фабричного Метода тоже используется набор if-ов…

Information

Rating
Does not participate
Location
Украина
Registered
Activity