Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xdec0de/42cpp
A collection of all C++ projects from 42, consisting of 10 different modules.
https://github.com/xdec0de/42cpp
42 42born2code 42cursus 42madrid 42projects 42school cpp cpp98
Last synced: about 2 months ago
JSON representation
A collection of all C++ projects from 42, consisting of 10 different modules.
- Host: GitHub
- URL: https://github.com/xdec0de/42cpp
- Owner: xDec0de
- License: mit
- Created: 2023-11-16T10:29:27.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-04T19:31:46.000Z (11 months ago)
- Last Synced: 2024-10-19T19:52:41.345Z (3 months ago)
- Topics: 42, 42born2code, 42cursus, 42madrid, 42projects, 42school, cpp, cpp98
- Language: C++
- Homepage:
- Size: 131 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 42CPP
A collection of all C++ projects from 42, consisting of 10 different modules.## General instructions
Instructions apply for all projects and exercises unless stated otherwis
on a specific exercise.
- Makefiles must not [relink](https://stackoverflow.com/questions/52502399/what-does-it-mean-for-a-makefile-to-relink).
- Code must be compiled with `c++` and the flags
`-Wall -Werror -Wextra -std=c++98 -pedantic`.
- Class names must be in [UpperCamelCase](https://wiki.c2.com/?UpperCamelCase)
format, that is "ClassName.cpp/.hpp/.tpp".
- Output messages must be ended by a new-line character and displayed
to the standard output.
- Almost everything on the standard library is allowed, however [boost libraries](https://www.geeksforgeeks.org/advanced-c-boost-library/),
*printf(), *alloc() and free() are forbidden.
- The `using namespace ` and `friend` keywords are forbidden.
- Anything that requires to include the `` header is also forbidden,
except on Module 08 and 09.
- Memory leaks must be avoided.
- From Module 02 to 09, classes must be designed in the [Orthodox Canonical Form](https://www.francescmm.com/orthodox-canonical-class-form/),
except when explicitely stated otherwise.
- Any function implementation put in a header file
(except for function templates) are forbidden.
- [Double inclusion](https://stackoverflow.com/questions/5000749/avoiding-double-inclusion-preprocessor-directive-vs-makefiles)
must be avoided by using include guards.## Code style
Both CodeFactor and Codacy are used to measure the code quality of this
project, one important performance issue that I had was using
[regular parameters instead of const references](https://stackoverflow.com/questions/2627166/what-is-the-difference-between-a-const-reference-and-normal-parameter),
that is why most of the string parameters of this project are passed as
`const std::string &str` instead of just `std::string str`.