Обновить
0
0

Пользователь

Отправить сообщение
Вот оно, ключевое слово — думай!
Сначала подумай, а потом напиши.
А если не думается значит ты не знаешь свой инструмент. А незнание рабочего инструмента — признак дилетанства.

/rant mode on
std::string, const std::string &, std::string && и std::string_view


А в C++ просто есть выбор. Но, чтоб выбирать, надо знать из чего. Надо читать документацию от компиляторов, стандарты, профильные книги, надо смотреть чужой код, надо смотреть на свой код, надо общатся с колегами, надо эксперементировать… надо работать, в общем.

И, да, для std::string выбор прост (в c++11 и выше): если ты незнаешь что тебе надо то std::string. Если ты всё таки знаешь что const друг, а не враг, тогда const где только можно. Референсы уже ненужны (но по старнике многие библиотеки их ещё долго будут юзать, так что пока без них никуда). А move-semantic (&&) вообще ненадо использовать если нет понимания что это за зверь. А в библиотечном коде оно прекрасно работает и само, без понимания.

А std::string_view, кстати, это механизм похожий по замыслу на тот о котором статья. Его вообще не рекомендуют, только если ну очень-очень надо, после бенчмарков, с опаской. Тем более что почти всегда если его надо использовать то что-то в системе не совсем так, ибо ситуация когда исходная строка настолько большая (или надо столько суб-копий) что стринг-вью оправдан, только говорит о том что дизайн системы кривой и, скорее всего, тут изначально не надо стринг использовать.
/rant mode off
Проблема с фазой из за простого кристала в приёмнике, с SDR проблема ну никак не связанна. Я это пишу как человек который уже пару лет как занимается разработкой такого приёмника.
Более того, мы работем и с фронт ендами где и кристал не очень и, ничего, живём. Да, PLL не совсем работает, но с FLL всё нормально и точность в порядке.
Устанавливаем VirtualBox (понадобится для запуска эмулятора)

Не только него. Как написал выше kirikch в нём же запускается и билд.
При установке поднимаются две виртуальные машины. Одна для эмулятора. А вторая для билд системы. Не надо ставить никаких пакетов и программ, не надо ничего настраивать. Да и при сноске просто можно стереть виртуалку.
А самая прелесть при самом билде. Снаружи — обычный Qt Creator. А внутри он подключается к виртуалке через SSH, и уже на ней вызывает make.
Automagically!

и подсветка синтаксиса не отваливается

Кстати, для парсинга кода, подсветки, анализа структуры, зависимостей и иже с ними, в последних версиях, на всех операционках, используется clang. Тот самый, от Яблочников ;-)

Я, например, использую Qt Creator как IDE для С и C++ уже много лет.
По сравнению с эклипсовским CDT не хватает пару фичь, и моря плагинов, но всё перекрывает стабильность, потребление ресурсов и скорость!
Тем более что интеграция с гитом в нём прямо из коробки, и запуск на удалённых системах тоже. Да и поддержка вижуал студии есть, для тех кому важно.

P.S. А именно этот телефон у меня как основной и единственный. Сразу после Е72 на него и перешёл. :-)
Это, конечно, прекрасно сравнивать С и Java.

А я, например, со Старуструпом соглашусь. (Он вообще много чего умного говорит) Хотя, имхо :-)

Как пример, я вот прямщас пишу одновременно на С и С++(Qt).
На С у меня SDR GPS который бежит на всяком embedded, а на C++ у меня GUI чтоб красивые графики показывать, и команды посылать. Протокол между ними двухсторонний и довольно симметричный. То есть базовые обработчики(codec, (un)marshaling, un(wrapping) ) с обоих сторон выполняют одинаковые действия.
Так вот, оно тоже день и ночь, и не потому что одно на embedded(и на PC) а другое только на PC.
С обоих сторон у меня за-framework-лено и за-template-ено всё что только можно (ибо копипаста програмисту враг а багу друг).
И всё равно, то что я на С пишу за пол часа, на C++ занимает пару минут.
И это ещё при том что с embedded-да я обычно только посылаю данные(то есть не надо ничего проверять) а в гуе мне надо всегда проверять валидность, ошибки, и ещё много чего (потому как когда embedded-ду плохо он может и фигню прислать, а эти моменты для меня как раз и самые интересные есть).

К чему я? А к тому что после 13-ти лет работы на С, и 7-ми на C++, как на основных языках я всё равно очень часто спрашиваю у гугла и стака ну прямо совсем банальные вещи.
Обычно, если я за день не поискал хотя бы пару вопросов то значит я не работал.
Потому что нельзя всё помнить, и потому что иногда я хочу быть уверенным что помню правильно, да и потому что иногда мне просто интересно можно ли сделать лучше то что я уже в сотый раз делаю.
И, кстати, на все мои вопросы ответы были найдены, без того чтоб я хоть один раз сам вопрос написал, потому как их кто-то когда-то уже спрашивал. Иногда в таких странных местах что только диву даёшся, но всё же…

Ботом лайн, если язык живой про него будут спрашивать. А если нет — то нет.

Информация

В рейтинге
Не участвует
Откуда
Ашдод, Хадаром, Израиль
Дата рождения
Зарегистрирован
Активность