Проект может быть чем угодно, значимым или бессмысленным, полезной утилитой или просто чем-то, что не имеет реального применения.
Гораздо лучше сделать что-то полезное.Вы можете использовать его (и это в некоторой степени сделает вас более счастливым при использовании собственного приложения), и вы можете поделиться им (с открытым исходным кодом - или нет).
Единственное требование заключается в том,что это заставит меня по-настоящему проверить свои навыки C ++.
Хорошо, вот несколько идей, которые мне не нравятся:
Напишите парсер для чего-либо (выражения,простой язык, XML, логические выражения?).А еще лучше, напишите синтаксический анализатор / интерпретатор для прологоподобного языка (вы определяете предикаты, объекты и отношения), а затем заставляете приложение делать выводы по заданным правилам, чтобы прийти к результату.
Написать регулярныйпакет выражений или отладчик регулярных выражений (что-то, где вы даете строку и шаблон, и он сообщает вам, до какой точки в шаблоне соответствует строка).При написании сложного регулярного выражения такое приложение будет очень полезным.
Напишите пакет XML для включения в boost (эй, вы хотели что-то, что заставило бы вас действительно проверить ваши навыки).
Запись модуля нечеткой логики с полностью поддерживаемыми логическими операциями (с, скажем, пятью значениями истинности: ложь, вероятно, ложь, неизвестно, возможно, правда, правда).
Записьпакет AI, позволяющий вам легко проектировать и реализовывать различные нейронные сети с пользовательскими функциями обучения / обратной связи.
Или, по крайней мере, это должно быть очень трудно или даже невозможно кодировать с базовыми знаниями C ++
Обладая базовыми знаниями только C, вы можете писать графические платформы, операционные системы и системы управления базами данных, пакеты математических и криптографических программ и т. Д. (Практически все).Нет ничего невозможного для программирования с базовыми знаниями C ++ ).
Ваше воображение действительно ваш предел.