Лет получается 12 назад немного узучал С++. Помню указатели, память, утечки и пр. Наверное кое что подзабыл. Кроме того, сейчас, как я понимаю, чего то там добавилось в стандарт. QT вроде бы сейчас самая популярная и современная (?).
Понадобится написать относительно небольшой модуль. В целях оптимизации переписать с C# на C++. В основном работа с сокетами, файловой системой, своим форматом данных, своей несложной базой данных.
Вопросы интересуют типа таких: какой класс популярно использовать для строк, к примеру, для динамических массивов. Т.е. чтобы не юзать то, что юзали 10 лет назад а сегодня считается не комильфо.
Вроде бы сейчас какая то система для сборки мусора набрала популярность? Краем уха слышал.
Можете ли порекомендовать какую-нибудь книгу, которая будет сводом новинок и популярных современных практик? Т.е. не нужно объяснять что такое циклы, массивы, классы и наследование...
Re: Посоветуйте современную книгу по C++ (а может C?)
Здравствуйте, Shmj, Вы писали:
S>QT вроде бы сейчас самая популярная и современная (?).
Смотря для чего. Я лично думаю, что её есть смысл тащить, если планируется делать GUI. Но это, скорее, психологическое ограничение.
S>Вопросы интересуют типа таких: какой класс популярно использовать для строк,
std::string S>для динамических массивов.
std::vector S>Т.е. чтобы не юзать то, что юзали 10 лет назад а сегодня считается не комильфо.
И всё остальное, что юзали 10 лет назад.
S>Вроде бы сейчас какая то система для сборки мусора набрала популярность? Краем уха слышал.
? Может, имеются в виду smart-указатели (автоматическое освобождение памяти)?
S>Можете ли порекомендовать какую-нибудь книгу, которая будет сводом новинок и популярных современных практик? Т.е. не нужно объяснять что такое циклы, массивы, классы и наследование...
Я не знаю такой, самому было бы интересно. Может быть, вот это подойдёт: http://www.cppstdlib.com/, но я не могу утверждать, т.к. сам не читал.
Re: Посоветуйте современную книгу по C++ (а может C?)
Здравствуйте, Shmj, Вы писали:
S>Понадобится написать относительно небольшой модуль. В целях оптимизации переписать с C# на C++. В основном работа с сокетами, файловой системой, своим форматом данных, своей несложной базой данных.
В целях оптимизации эту идею следует либо забыть, либо поручить ее реализацию тому, кто знает, как эффективно работать с сокетами, файловой системой, своим форматом данных и своей несложной базой данных на плюсах.
Здравствуйте, Shmj, Вы писали:
S>Понадобится написать относительно небольшой модуль. В целях оптимизации переписать с C# на C++. В основном работа с сокетами, файловой системой, своим форматом данных, своей несложной базой данных.
Существуют ли в модуле C# на данный момент тормоза ?
Если нет, то совсем неясен мотив.
Если есть, вы точно смогли доказать, что именно C# является узким местом ? Возможно 'unsafe' все может исправить ?
Здравствуйте, Shmj, Вы писали:
S>Понадобится написать относительно небольшой модуль. В целях оптимизации переписать с C# на C++. В основном работа с сокетами, файловой системой, своим форматом данных, своей несложной базой данных.
А в чём именно тормоза? Если проблема с сокетами, то надо их правильно использовать. Язык тут ни при чём. Тоже самое с файловой системой и базой данных.
Свой формат данных — это вообще от языка не должно зависеть.
Почему-то распространена точка зрения, что если программу переписать с С# (Java) на С++, то она тут же ускорится.
Единственное улучшение — это время старта. На С# как-то долго программы стартуют, но и тут наверняка есть готовые решения.