Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Герб уже работает над заявкой в Комитет, посвященной сборщику мусора.
что будет с его синтаксисом… я боюсь
virtual void f() = 0;
while (*s1++ = *s2++);
char* c1, c2;
void *(*f)(void*);
a::b->c.d;
void operator++(int);
struct A
{
A() = default;
virtual ~A() = default;
A& operator =(const A&) = delete;
A(const A&) = delete;
A(int v) : {}
A(int a, int b): A(0) {}
};
while (*s1++ = *s2++); char* c1, c2;? Это же не С++, а С какой-то. Причём первый — переоптимизированный С. Вам не нравится, что в С++ осталась эта возможность?while (*s1++ = *s2++); и подобный ему я видел столько раз, что уверен, что подобные конструкции нельзя не понимать, однако читаемым, сходу понимаемым назвать его весьма сложно. (Хотя конкретно эту строчку понять легко, потому что её все знают наизусть, ведь она — о ужас! — из книжек.)char* c1, c2; — это частый источник ошибок (у новичков — очень частый). Почему половина типа задаётся слева, в общем куске кода, а половина — справа, индивидуально для каждой переменной? Я не могу этого понять. Разработчики того же шарпа от этой порочной практики ушли.
Презентация Герба Саттера про Visual C++ и C++11 на конференции BUILD