(aka ~COMP6771())
a.k.a.: Revision
CPU-native types: int, double, void*, etc.
struct, class, unionvoid foo(int, double*)const int i = 5auto: auto it = std::vector<int>{}.begin();T/T&/T*vector, tuple, etc.#include<>std::vectorstd::listAlgorithms, e.g.
std::copy() std::transformfor, if, while, {}, namespace introduce scopesint
Initialisation customisable through constructorsv1 + v2 == vec2d{v1.x + v2.x, v1.y + v2.y} is more natural than add(v1, v2)
Full list of overloadable operators
throw/try/catch const& !!
std::unique_ptr<T>/T* for unique ownership/observerationstd::shared_ptr<T>/std::weak_ptr<T> for shared ownershiptemplate <typename T>template <int N>)template <template <typename> typename Container>)T a pointer type (e.g. int*)?T look like with const removed? (e.g. const int -> int)T&&) introduced in C++11:
auto type deduction and rvalue references binds to anythingif-constexpr
decltype: get the declared type of a variable at compile-timevirtual methodsoverride, final, pure-virtual (abstract) methodsdynamic_cast
virtual destructors!T* and T&!(from guest lecture; not assessable)
https://www.youtube.com/watch?v=qROu_TyeolU&t=77s&ab_channel=BoyzIIMen-Topic
* Not yet (click right)