C++
C++11 Basics
Passing by Reference
Comparison with ”Passing by value”:
https://www.geeksforgeeks.org/passing-by-pointer-vs-passing-by-reference-in-c/
Templates
Namespaces
Shared Pointer
Mutex
Unique Pointer
Differences between various C++ pointer classes https://www.geeksforgeeks.org/auto_ptr-unique_ptr-shared_ptr-weak_ptr-2/
Example code
http://en.cppreference.com/w/cpp/memory/unique_ptrMoving unique_ptr in main(), should use auto type https://stackoverflow.com/questions/36071220/what-happens-to-unique-ptr-after-stdmove
Rvalue, lvalue, xvalue, glvalue, prvalue
Casting
C++ Casting, or: "Oh No, They Broke Malloc!"
https://embeddedartistry.com/blog/2017/2/28/c-casting-or-oh-no-we-broke-malloc
Operator Overloading
Function prototypes for overloading various operators
http://en.cppreference.com/w/cpp/language/operators
Const functions
Standard Template Library (STL)
STL Sequence Containers
vector
list
deque
arrays
Forward_list
STL Container Adaptors
queue
priority_queue
Stack
STL Associative Containers
Set
multiset
map
multimap
Unordered Map
STL Utility
pair
Virtual Functions
Example code
https://www.geeksforgeeks.org/vector-in-cpp-stl/
Exception Handling
Good Introduction
https://www.tutorialspoint.com/cplusplus/cpp_exceptions_handling.htmResource Acquisition is Initialisation
https://www.tomdalling.com/blog/software-design/resource-acquisition-is-initialisation-raii-explained/
Abseil Libraries
Strings, string_view, Substitute()
https://abseil.io/docs/cpp/guides/strings
const
Use of 'const' for function parameters
https://stackoverflow.com/questions/117293/use-of-const-for-function-parameters
Google’s Open Source Stuff
Bazel
Homepage
https://bazel.build/Build system comparison for C shared library: Manual vs. Makefile vs. Bazel
http://www.electronicsfaq.com/2017/08/build-system-comparison-for-c-shared.html
gflags
Official Example
https://github.com/gflags/example
Google Test and Google Mock
Repository
https://github.com/google/googletestPrimer
https://github.com/google/googletest/blob/master/googletest/docs/primer.mdC++ Unit Testing with Google Test Tutorial [Video]
https://www.youtube.com/watch?v=16FI1-d2P4EGoogletest on Ubuntu
http://www.electronicsfaq.com/2018/01/googletest-on-ubuntu.htmlHello World of Google Mock
https://fw-geekycoder.blogspot.in/2010/12/getting-started-with-google-test-and.htmlHow to add gtest/gmock to your project’s Bazel WORKSPACE/BUILD files:
https://stackoverflow.com/questions/45814669/c-project-with-bazel-and-gtest
Google Benchmark
Repository
https://github.com/google/benchmark
Protocol Buffers
Repository
https://github.com/google/protobufInstallation
https://github.com/google/protobuf/blob/master/src/README.mdExamples documentation
https://github.com/google/protobuf/tree/master/examplesC++ Reference
https://developers.google.com/protocol-buffers/docs/cpptutorial
gRPC
Install gRPC
https://github.com/grpc/grpc/blob/master/INSTALL.mdC++ Quickstart
https://grpc.io/docs/quickstart/cpp.htmlExample code and setup
https://grpc.io/docs/tutorials/basic/c.html
Blog Posts
Fluent C++ - The Structure of Arrays / Array of Structures
World map of C++ STL Algorithms [AWESOME]
CppCon 2018: Jonathan Boccara “105 STL Algorithms in Less Than an Hour”
https://www.youtube.com/watch?v=2olsGf6JIkUPoster
https://drive.google.com/open?id=1tzUFJtui0XyShTAOP-kNs2y9UtAzll64
Design Patterns
Strategy Pattern
Examples (C++ on Ubuntu)
Observer Pattern
Example (C++ on Ubuntu)
Decorator Pattern
Example (C++ on Ubuntu)
Factory Method Pattern
Example (C++ on Ubuntu)