Skip to content

fv99/42_cpp_modules

Repository files navigation

42 C++ Modules

image

Rules:

  • Compile your code with c++ and the flags -Wall -Wextra -Werror
  • Your code should still compile if you add the flag -std=c++98
  • You are allowed to use almost everything from the standard library. Use as much as possible the C++-ish versions of the C functions you are used to.
  • You can’t use any other external library. It means C++11 (and derived forms) and Boost libraries are forbidden.
    • The following functions are forbidden too: *printf(), *alloc() and free()
    • Unless explicitly stated otherwise, using namespace <ns_name> and friend keywords are forbidden
  • You are allowed to use the STL in the Module 08 and 09 only. That means:
    • No Containers (vector/list/map/and so forth)
    • no Algorithms (anything that requires to include the header)

About:

Module Content
00 Namespaces, classes, member functions, stdio streams, init lists, static and const, etc.
01 Memory allocation, pointers to members, references and switch statements
02 Ad-Hoc polymorphism, operator overloading and orthodox canonical form
03 Inheritance
04 Subtype polymorphism, abstract classes and interfaces
05 Repetition and exceptions
06 C++ Casts
07 C++ Templates
08 Templated Containers, Iterators and Algorithms

About

C++ modules in 42 Prague.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published