Skip to content
/ 42CPP Public

A collection of all C++ projects from 42, consisting of 10 different modules.

License

Notifications You must be signed in to change notification settings

xDec0de/42CPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.
  • Code must be compiled with c++ and the flags -Wall -Werror -Wextra -std=c++98 -pedantic.
  • Class names must be in 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, *printf(), *alloc() and free() are forbidden.
  • The using namespace <ns_name> and friend keywords are forbidden.
  • Anything that requires to include the <algorithm> 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, except when explicitely stated otherwise.
  • Any function implementation put in a header file (except for function templates) are forbidden.
  • Double inclusion 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, that is why most of the string parameters of this project are passed as const std::string &str instead of just std::string str.

About

A collection of all C++ projects from 42, consisting of 10 different modules.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published