C++
https://learnxinyminutes.com/docs/c++/
#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <tuple>
using namespace std;
int main(){
cout << "hello world" << std::endl;
auto myvec = vector<int>{1,2,3,4,5};
myvec.push_back(6);
for (auto i : myvec){
cout << i << " ";
}
pair<int, int> biz = {1,2};
map<string, int> bar = { {"one", 1}, {"two", 2} };
bar.get("poop");
for (auto [key, value] : bar){
cout << key << " " << value << endl;
}
tuple<int,float,double> baz = {1, 2.0, 3.0};
return 0;
}
https://en.cppreference.com/w/cpp
std
string_view const regex fstream
iterators s.rbegin
for(auto c : mystr)
std::map mymap = 1
shared_ptr unique_ptr weak_ptr
https://github.com/mortennobel/cpp-cheatsheet
ranges
Boost
constexpr
consetexpr maze constexpr interpeter
Observable behavior
https://en.cppreference.com/w/cpp/language/as_if as if rule https://en.cppreference.com/w/c/language/eval_order eval order
Build
cmake
conan C/C++ pakcage manager vcpkg https://github.com/microsoft/vcpkg
Misc
https://github.com/andreasfertig/cppinsights
https://github.com/verateam/vera I dunno about thizs one. Programmable tool for verification analysis
https://github.com/shuaimu/borrow-cpp/ borrow checker for c++
https://github.com/federico-busato/Modern-CPP-Programming modern cpp course
Cherno Cyril Stachniss https://www.youtube.com/c/CyrillStachniss/videos
Class vs struct Smart pointers new/delete ~ malloc + constructor caling static const virtual interfaces - classes that are all virtual methods name mangling
precompiled headers (pch)
#include <iostream>
int main(){
std::cout << "hello world" << std::endl;
std::cout << [](int x){ return x * 42; }(2); // lambda
return 0; // don't have to though
}
fmt library C++20 has this in #include<format>
?
extern "C"
blocks prevent name mangling for ffi purposes.
hidden cost of C++ exceptions if you torture the compiler
Abseil - google C++ stdlib
Folly - something similar by facebook https://news.ycombinator.com/item?id=29841271
Google test
google bench
https://github.com/microsoft/GSL GSL: Guidelines Support Library