Маша С++
104 subscribers
54 photos
2 files
65 links
Учу C++ и не только вместе с вами, мои котятки)
Download Telegram
Channel created
Channel photo updated
Маргарет Гамильтон рядом с распечатками текста программы, которую она и её команда в MIT создали для миссии «Аполлон-11» (1969) #история
А сегодня я узнала, что в C++для внутриклассовых инициализаторов можно писать условие и оно даже будет работать при нескольких конструкторах:
class class_a {
public:
class_a() : m_double(100) {}
class_a(double d) : m_double(d){}
double m_double{ 1.0 };
std::string m_string{ m_double < 10.0 ? "alpha " : "beta " };
};

class_a obj1(5.0);
class_a obj2(15.0);
class_a obj3;

std::cout << obj1.m_string << obj2.m_string << obj3.m_string << std::endl;
/// alpha beta beta
#cpp
👍2
Автор нескольких книг Джейн Фридман в статье "Лучше бы мои книги пиратили, чем это" пишет, что Amazon завален мусорными книгами, по всей видимости сгенерированными с помощью AI. Все бы ничего, но она обнаружила такие книги с указанием ее имени на обложке 😁
https://janefriedman.com/i-would-rather-see-my-books-pirated/
Я одна не понимаю, почему при объявлении чисто виртуальной функции в C++11 не используют nullptr вместо 0?

virtual bool fun() = 0;
virtual bool fun() = nullptr; // better, huh?

#cpp
👍2
Автор популярного (300k юзеров) расширения для Хрома для увеличения изображений по ховеру публикует на гитхабе поступающие ему предложения по "монетизации" 👌 (мы-то знаем) своего экстеншна: https://github.com/extesy/hoverzoom/discussions/670
#github #opensource
Всегда забавляло: запомни, что 17-я студия на самом деле 15-я, 19-я это 16-я, а 13-ю вообще почему-то пропустили.
Почему нельзя просто по году назвать 🙈
😁3
Объясните мне, почему в std::string нет таких казалось бы базовых вещей как например split?
Хорошо, что хоть вот таких вещей добавили в новые стандарты (это мы ждем).
Даешь больше синтаксического сахара, ведь от него не растут бока 😜.
#cpp
Thanks, M$
Недавно на моей электронной книжке PocketBook (кстати, рекомендую) почему-то отказывалась открываться одна PDF-ка (вернее открывалась, но не отрисовывалась). Как оказалось, такое бывает не только у меня, но я нашла такой замечательный проект как KOReader (https://github.com/koreader/koreader) с простыми инструкциями по установке и теперь могу читать книжку. Есть поддержка Android • Cervantes • Kindle • Kobo • Linux • Pocketbook • reMarkable. Вооот 😀
#github #opensource
🔥1
Никогда не понимала дефолтного поведения git:
$ git push
fatal: The current branch login has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin login

Ну делай это по-умолчанию, ведь это нужно в большинстве случаев, нет?
#git
Наверное никогда не привыкну к .hpp, да и не понятно зачем так делать 🧐 (изменения конечно для мажорного релиза, ага)
Ссылка: https://github.com/opendocument-app/OpenDocument.core/releases/tag/v3.0.0
#cpp #github
Если вы хотите стать C++ разработчиком, то пожалуйте годный (ну мне так кажется) роадмап (+ английский). Иду по нему, есливчо.
#cpp

https://salmer.github.io/CppDeveloperRoadmap/Russian/
Котятки, а вы знаете как в C++ работает switch и почему так быстро? нет? быстро перечитываем Страуструпа (задачка оттудава, код корректный есливчо).
3
Как вы знаете, мои котятки, в cmake есть 3 способа добавить target:
- add_executable
- add_library
- add_custom_target


Все бы ничего, но почему бы не назвать их все *_target?
- add_executable_target
- add_library_target
- add_custom_target


Ведь так всё более явно, нет? CMake и так сложен для старта...
#cmake
Вопрос, что выведет CMake?😉
Ответ: только Hello
В первом if, ${VAR2} выведется в VAR1, что является переменной и она выведется в YES, то есть первый if сработает.
Во втором If кавычки не дадут произойти такому сбивающему моменту и он не выполнится. Вооот.
#cmake