aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/compilation/target/c++.md
diff options
context:
space:
mode:
authorEduardo Julian2022-07-26 18:08:04 -0400
committerEduardo Julian2022-07-26 18:08:04 -0400
commitfeacd79496ae9c76492d5a12d30b78724b642654 (patch)
treea85708d1bfe43a98ba62b7f8589dcc95a71f86f5 /documentation/bookmark/compilation/target/c++.md
parentdec796a9838e39148c007f3f3d360964d7cb68de (diff)
Made inlined functions into first-class macros.
Diffstat (limited to 'documentation/bookmark/compilation/target/c++.md')
-rw-r--r--documentation/bookmark/compilation/target/c++.md93
1 files changed, 93 insertions, 0 deletions
diff --git a/documentation/bookmark/compilation/target/c++.md b/documentation/bookmark/compilation/target/c++.md
index d62ed0141..40625b60e 100644
--- a/documentation/bookmark/compilation/target/c++.md
+++ b/documentation/bookmark/compilation/target/c++.md
@@ -1,5 +1,98 @@
+# Memory management
+
+0. []()
+0. [Memory and Performance Overhead of Smart Pointers](https://www.modernescpp.com/index.php/memory-and-performance-overhead-of-smart-pointer)
+0. [](https://coderedirect.com/questions/464444/c-atomic-cascompare-and-swap-operation-does-not-change-value)
+0. [C++ Shared_Ptr implementation](https://codereview.stackexchange.com/questions/254279/c-shared-ptr-implementation)
+0. [C++: shared_ptr and how to write your own](https://medium.com/analytics-vidhya/c-shared-ptr-and-how-to-write-your-own-d0d385c118ad)
+0. [How to implement user defined Shared Pointers in C++](https://www.geeksforgeeks.org/how-to-implement-user-defined-shared-pointers-in-c/)
+0. [](https://en.cppreference.com/w/cpp/memory/shared_ptr)
+0. [smart pointers](https://en.cppreference.com/book/intro/smart_pointers)
+0. [](https://en.cppreference.com/w/cpp/numeric/bit_cast)
+0. [reinterpret_cast conversion](https://en.cppreference.com/w/cpp/language/reinterpret_cast)
+0. [Alternatives to std::atomic_ref](https://stackoverflow.com/questions/67620813/alternatives-to-stdatomic-ref)
+0. [std::atomic_ref is awesome](https://www.reddit.com/r/cpp/comments/i8ckxr/stdatomic_ref_is_awesome/)
+0. [](https://en.cppreference.com/w/cpp/atomic/atomic_ref)
+
+# Optimization
+
+0. []()
+0. [Copy Elision](https://www.youtube.com/watch?v=_zZWUZEwXk8)
+0. [C and C++ coding style for best performance](https://www.ibm.com/docs/en/aix/7.1?topic=implementation-c-c-coding-style-best-performance)
+
# Reference
0. []()
+0. [C++ keywords: noexcept (since C++11)](https://en.cppreference.com/w/cpp/keyword/noexcept)
+0. [alignas specifier (since C++11)](https://en.cppreference.com/w/cpp/language/alignas)
+0. [Perfect Forwarding](https://www.modernescpp.com/index.php/perfect-forwarding)
0. [C++ Tips of the Week](https://abseil.io/tips/)
+0. [Constant references are not always your friends](https://belaycpp.com/2022/02/15/constant-references-are-not-always-your-friends/)
+0. [Unionizing for Profit: How to Exploit the Power of Unions in C++](https://dev-discuss.pytorch.org/t/unionizing-for-profit-how-to-exploit-the-power-of-unions-in-c/444)
+0. [std::any: How, when, and why](https://devblogs.microsoft.com/cppblog/stdany-how-when-and-why/)
+0. [Using C Libraries in your Modern C++ Embedded Project - Michael Caisse - CppCon 2021](https://www.youtube.com/watch?v=Ototzy-nP4M)
+0. [In-memory and Persistent Representations of C++ - Gabriel Dos Reis - CppCon 2021](https://www.youtube.com/watch?v=39wlNRk-nAg)
+0. [Back to Basics: const and constexpr - Rainer Grimm - CppCon 2021](https://www.youtube.com/watch?v=tA6LbPyYdco)
+0. [Misra Parallelism Safety-critical Guidelines for C++11, 17, Then C++20, 23 - CppCon 2021](https://www.youtube.com/watch?v=hVv7Nc3f4Jo)
+0. [Back to Basics: Move Semantics - Nicolai Josuttis - CppCon 2021](https://www.youtube.com/watch?v=Bt3zcJZIalk)
+0. [Type-and-resource Safety in Modern C++ - Bjarne Stroustrup - CppCon 2021](https://www.youtube.com/watch?v=l3rvjWfBzZI)
+0. [Exceptional C++ - Victor Ciura - CppCon 2021](https://www.youtube.com/watch?v=SjlfhyZn2yA)
+
+# Undefined behavior
+
+0. []()
+0. [INT32-C. Ensure that operations on signed integers do not result in overflow](https://wiki.sei.cmu.edu/confluence/display/c/INT32-C.+Ensure+that+operations+on+signed+integers+do+not+result+in+overflow)
+0. [Integer overflow](https://en.wikipedia.org/wiki/Integer_overflow#Handling)
+0. [Back To Basics: Undefined Behavior - Ansel Sermersheim & Barbara Geller - CppCon 2021](https://www.youtube.com/watch?v=NpL9YnxnOqM)
+
+# Dependency management
+
+0. []()
+0. [vcpkg](https://vcpkg.io/en/index.html)
+
+# constexpr
+
+0. []()
+0. [Your New Mental Model of constexpr - Jason Turner - CppCon 2021](https://www.youtube.com/watch?v=MdrfPSUtMVM)
+
+# String
+
+0. []()
+0. [CsString (intro to unicode)](https://www.youtube.com/watch?v=nYzi0-VAXQM)
+0. [CsString (library design)](https://www.youtube.com/watch?v=w_kD-qAkoH0)
+0. [char8_t](https://www.youtube.com/watch?v=vOOLXvu-xtU)
+0. [std::u32string](https://www.cplusplus.com/reference/string/u32string/)
+
+# Variadic functions
+
+0. []()
+0. [Variadic functions](https://en.cppreference.com/w/cpp/utility/variadic)
+0. [Parameter pack](https://en.cppreference.com/w/cpp/language/parameter_pack)
+0. [va_start](https://www.cplusplus.com/reference/cstdarg/va_start/)
+
+# Multi-threading
+
+0. []()
+0. [std::thread](https://en.cppreference.com/w/cpp/thread/thread)
+0. [std::thread::hardware_concurrency](https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency)
+0. [std::atomic](https://en.cppreference.com/w/cpp/atomic/atomic)
+0. [std::atomic::compare_exchange_strong](https://www.cplusplus.com/reference/atomic/atomic/compare_exchange_strong/)
+
+# Interpreter
+
+0. []()
+0. [Clasp — Bringing Common Lisp and C++ Together](https://github.com/clasp-developers/clasp)
+0. [Cling](https://root.cern/cling/)
+0. [Interactive C++ with Cling](https://blog.llvm.org/posts/2020-11-30-interactive-cpp-with-cling/)
+0. [Cling Transitions to LLVM's Clang-Repl](https://root.cern/blog/cling-in-llvm/)
+0. [cppyy: Automatic Python-C++ bindings](https://cppyy.readthedocs.io/en/latest/index.html)
+
+# Cross-compilation
+
+0. []()
+0. [Cross compiling Windows binaries from Linux](https://jake-shadle.github.io/xwin/)
+0. [Clang C++ Cross Compiler - Generating Windows Executable from Mac OS X](https://stackoverflow.com/questions/23248989/clang-c-cross-compiler-generating-windows-executable-from-mac-os-x)
+0. [The Clang Universal Driver Project](https://clang.llvm.org/UniversalDriver.html)
+0. [Cross-compilation using Clang](https://clang.llvm.org/docs/CrossCompilation.html)
+0. [Wclang: Cross compile source code easily for Windows with clang on Linux/Unix](https://github.com/tpoechtrager/wclang)