Pull to refresh
14
0
aviaconstructor @aviaconstructor

Программист

Send message
Да, увы. Вот и статья зи цикла: повеселиться. Вообще, задачка про a(b) показывалась куче народу на протяжении многих лет. Статистика печальная — без нулевой подсказки правильный ответ что такое a(b) дали единицы.
Да, конечно же конструктор в string не объявлен как explicit, и сам я всегда пишу равно. Но тогда бы и задачки не было. А скобочки по ошибке добавляют часто. Тем более, что:
    MyClass* c1 = new MyClass(); // всё супер!
    MyClass с2(); // а вот тут мы попали
Благо, в этом случае при использовании с2 будет ошибка
О большинстве грабель предупреждает, но не о всех, которые приведены в тексте.
Баг — это муха, упавшая в бочку мёда. Я по рукам себя не бью — вытаскиваю муху. Мёд ем.
И точно: галки тут как дрозды в филармонии. Я отметил своё, но уж очень подмывало сказать, что как разработчик всё знаю, а как пользователь — извиняйте, впервые слышу
Это хороший подарок! В 2061 году будут отмечать столетие первогополёта человека в космос и пятидесителетие первой версии nginx! За первых!
А если посмотреть на стайлгаид гуглa — динозаврики, ни дать ни взять:

google-styleguide.googlecode.com/svn/trunk/cppguide.xml

То же и с Qt, mozilla, многими другими проектами.
Пример довольно успешного пректа, мощно использующего фичи С++ — llvm.org
Рекомендую к прочтению кода. Лучше многих книг.
Сказать Линусу Торвальдсу и другим ядерщикам, что они живут в каменном веке. :)
Вот его известное письмо:
thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918

Я со многим в этой статье согласен, да и сам плюсовик со стажем, но считаю, что на любом языке и любыми средствами можно написать плохой или хороший код.
А если сформулиновать на языке бизнеса: «не кто виноват, а что делать».
У меня в примеренеправильный синтаксис — не заметил в предосмотре, что хабр выкинул угловые скобки, приняв их за таг. Вот:
    std::auto_ptr<MyClassWithDestructor> ptr(new MyClassWithDestructor[32]);
    std::auto_ptr<char> ptrChars(new char[256]);
А вы поклянётесь на С++ стандарте, что в коде вашей компании нигде не вызывается неправильный delete?
Я согласен с тем, что shared_* — вещь полезная, но всё-таки её надо применять тогда, когда владение объекта не определено, и он действительно «shared». К сожалению, это не garbage collector. В новом стандарте есть unique_ptr, но он реализован на ещё одной новой «фиче» — «rvalue references». Такие можно и в контейнеры класть.
По этой причине нельзя использовать std::auto_ptr с массивами:

std::auto_ptr ptr(new MyClassWithDestructor[32]);
std::auto_ptr ptrChars(new char[256]);

Первый пример вряд ли разрушит объект правильно в деструкторе, а второй — скорее всего разрушит нормально для всех известных мне реализаций, но всё равно «это нехорошо». Причём, что прискорбно, часто мы имеем парадигму, где auto_ptr в нормальной ситуации «грабится» с помощью release(). В этом случае только при ошибках, ведущих к исключению мы имеем покоцанную память. В новой редакции стандарта использование auto_ptr не рекомендовано, но это — повод для отдельной статьи
Согласен полностью. Но ещё более согласен если не только вы их администрите. На серверах и вообще шаредных компах в руте используем bash почти в голом виде, с минимумом алиасов. И вим гол как сокол. В таких вещах чем стандартнее тем лучше (про судо знаю, но у нас всё равно рут для админов — причины есть). А в скриптах, конечно, первой строкой — банг-баш.
zsh попробуйте — оч. много интерактивных приятностей
Начать лучше с малого — положите в гит свои личные файлы. Добавится только ОДНА дирка .git — и никаких кишок.
Потом уже реальные проекты, бранчи-кранчи.
«Так что если вкратце, то на Symbian и Qt ожидается много интересного»… «Nokia и Microsoft разделяют видение и намерение произвести переход для разработчиков настолько мягко, насколько возможно.»

Много интересного. Побежали.

Оставьте нам Qt, QtCreator, Maemo,…
для свободы нужны:
— самоорганизующийся распределённый поисковик
— самоорганизующиаяся распределённая социальная сеть
— чтобы торренты не банили

Information

Rating
Does not participate
Location
Россия
Registered
Activity