Игаль *    (yigal_s) wrote,
Игаль *   
yigal_s

С++ с основ.

В С++ плохо всё, с самых самых безобидных, казалось бы, основ.

Вот, например, конструктор:

MySuperExtraordinaryClass::MySuperExtraordinatoryClass()
{
}

Стоп машина! Чтобы понять, что это конструктор, необходимо прочитать два слова и убедиться, что они совпадают! Поздравим создателей языка с тем, что они сэкономили ключевое слово - "constructor"

Кстати, при чтении декларации класса всё еще хуже - вам надо помнить, декларацию какого именно класса вы читаете, чтобы распознать в ней декларацию конструктора.

Теперь, пожалуй, попробуем какие-нибудь конструкторы использовать. Ну, например, конструкторы стандартной библиотеки.

const char *buf="С++ is marvelous";
std::string s1(buf);
std::string s2(buf, 2); //гммм...
std::string s3(buf, 3, 2); //блять, что это?
std::string s4('2', 5); //а это что?


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

Убей же С++ программиста в себе.
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 27 comments