Подтвердить что ты не робот

Идеи проекта, чтобы стать хорошим на С++

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

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

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

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

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


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

AJ

4b9b3361

Ответ 1

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

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

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

sudo apt-get install build-essential

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

С точки зрения ресурсов для реализации CGI в С++ (и для другого кода), пожалуйста, просмотрите страницу

Ответ 2

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

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

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

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

Ответ 3

ответьте на заголовок вопроса:), предполагая С++ 03

С сайта Bjarnes:

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

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

3. Обучение и обучение С++

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

Ответ 4

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

вы можете перейти на расширенные темы С++, такие как шаблоны выражений. проект даже не должен делать ничего полезного, если вы можете собрать фрагменты вместе, чтобы произвести некоторый результат.

если вы знаете какой-то С++, вы можете очень весело нажимать язык на ограничения только с помощью феникса.

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

например, вы можете создать синтаксис следующим образом:

integrate(x*x + sin(x), 0, 100, threads(4));

Ответ 5

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