Проектные идеи, чтобы стать хорошими в C ++

Я хочу попасть в команду C ++ на работе. Их работа заключается в написании CGI на C ++ (главным образом, но не ограничиваясь ими). Я знаю базовый C ++. Читая список на C ++ book guide вопрос о SO, я получил три книги от друга (у меня фактически была первая).

  1. Язык программирования C ++ - Бьярн Страуструп - для справки
  2. Шаблоны C ++ Полное руководство - Дэвид Вандевурде / Николай М. Йосуттис
  3. Современный дизайн C ++ - Андрей Александреску

  1. Я хотел бы знать, есть ли какие-либо проекты или идеи, которые вы можете сказать мне, которые я могу реализовать, чтобы я стал лучше в этом.

  2. Настройка мне нужна. У меня есть Macbook и личный дерьмовый сервер Ubuntu dev. Я могу при необходимости загрузить bootcamp для установки любой ОС.

  3. Не могли бы вы также дать мне несколько советов о том, как начать писать CGI (или любой учебник)?


Большое спасибо.

AJ

17
задан Community 23 May 2017 в 12:06
поделиться

4 ответа

Позвольте мне добавить в ваш список материала для чтения; C++ FAQ Lite — абсолютно лучший ресурс для изучения тонкостей C++. Это полезно как в качестве справочника для старых таймеров, так и в качестве введения для новичков. Я настоятельно рекомендую прочитать как можно больше и попробовать небольшие примеры, демонстрирующие каждую упомянутую функцию, прежде чем присоединиться к реальному проекту.

Как только вы освоитесь с языком, я бы порекомендовал заглянуть на Github и посмотреть, нет ли там проектов C++, которым нужна помощь. Что касается изображений, созданных компьютером, или общего интерфейса шлюза, оба они не зависят от языка. Они могут быть написаны на любом языке программирования, хотя разные языки программирования будут иметь разные существующие библиотеки для их обработки. Я предлагаю вам прочитать эту тему, чтобы лучше понять стандарт/алгоритмы (в зависимости от того, какой из двух вы имели в виду). Как только вы лучше познакомитесь с предметом, вы сможете лучше понять документацию соответствующих библиотек.

Что касается среды разработки, я считаю, что Ubuntu проще всего настроить, потому что почти всю настройку можно свести к серии команд apt-get install. Например:

sudo apt-get install build-essential

Независимо от того, какую ОС вы используете, вы, вероятно, захотите создавать и запускать свой код в предсказуемой, воспроизводимой среде.Я также должен отметить, что среда, в которой вы разрабатываете, не обязательно должна быть такой же, как та, в которой вы фактически создаете и запускаете свой код. Например, вы можете написать весь свой код на Mac OS X, но собрать и выполнить свой код в контейнере Docker, который запускает экземпляр Ubuntu с предустановленной, воспроизводимой конфигурацией сборки/запуска.

Что касается ресурсов для реализации CGI в C++ (и для другого кода), пожалуйста, ознакомьтесь со страницей ресурсов C++ на моем веб-сайте. В нем перечислены несколько инструментов для работы в сети, компьютерной графики и других задач C++, а также библиотеки общего назначения, такие как Boost и Qt.

6
ответ дан 30 November 2019 в 14:05
поделиться

ответ на заголовок вопроса :) при условии, что C++03

С веб-сайта Bjarnes:

1. Новое обучение

2. Принципы и практика использования C++ (Должен дать представление о коротких программах/проектах)

3. Изучение и преподавание C++

И да, если вам нужно хорошо изучить C++, найдите рядом хорошего рецензента. Держите под рукой копию соответствующего стандарта (open-std.org)

3
ответ дан 30 November 2019 в 14:05
поделиться

Прочитайте книгу «Эффективный C++» Скотта Мейерса. Это превосходно и даст вам хороший совет о лучших практиках и вещах, которых следует избегать.

2
ответ дан 30 November 2019 в 14:05
поделиться

Лучший способ стать лучше в C++ — это... писать код на C++. Начните с простого трассировщика лучей без каких-либо внешних зависимостей (просто запишите вывод в файл PPM).

  1. Я думаю, что это достаточно интересная проблема, и она позволит вам начать работу с ядром языка.
  2. Отсутствие зависимостей уменьшит отвлекающие факторы, связанные с потенциально сложными идиомами сторонних библиотек, которые вы еще не можете оценить, и раздражающими вещами. как библиотеки и ссылки. Кроме того, у вас будет меньше причуд C++, которые взорвут вам лицо.

Используйте это, когда у вас будет больше опыта. Вернитесь назад, проведите рефакторинг кода, добавьте более сложные функции, сторонние библиотеки (например, напишите вывод в формате JPEG, начните использовать биты усиления, такие как интеллектуальные указатели).

Промыть, повторить.

4
ответ дан 30 November 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: