Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2018-07-15 02:51:20
Size: 799
Editor: SamatJain
Comment:
Revision 4 as of 2018-09-19 01:46:34
Size: 3170
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from ProgammingLanguages/C++
Line 2: Line 3:

== STL ==

Wrap an existing C-style pointer to an array with std::vector: http://stackoverflow.com/a/15203325/14878; modifies std::vector internals to work.

== C++11 ==

== Move semantics/perfect forwarding ==

 * [[http://thbecker.net/articles/rvalue_references/section_01.html|C++ Rvalue References Explained]]
 * [[http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html#Move_Semantics|Rvalue Reference Quick Look]]
 * [[http://en.cppreference.com/w/cpp/utility/move|std::move - cppreference.com]]
 * [[https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/RVO_V_S_std_move?lang=en|RVO V.S. std::move (C/C++ Cafe)]]
 * [[http://www.cprogramming.com/c++11/rvalue-references-and-move-semantics-in-c++11.html|Rvalue References and Move Semantics in C++11 - Cprogramming.com]]

=== Smart pointers ===

 * [[https://arne-mertz.de/2015/12/shared_ptr-versus-unique_ptr-in-factory-functions/|shared_ptr Versus unique_ptr in Factory Functions]]
 * [[https://softwareengineering.stackexchange.com/questions/274801/raw-weak-ptr-unique-ptr-shared-ptr-etc-how-to-choose-them-wisely|c++ - raw, weak_ptr, unique_ptr, shared_ptr etc... How to choose them wisely? - Software Engineering Stack Exchange]]
Line 10: Line 30:

== C++ and Python ==

 * [[https://github.com/pybind/pybind11|pybind/pybind11]]: Seamless operability between C++11 and Python
 * [[https://github.com/tbenthompson/cppimport|tbenthompson/cppimport]]: Import C++ files directly from Python

== Interesting libraries ==

 * [[https://github.com/fffaraz/awesome-cpp|awesome-cpp]]: A curated list of awesome C/C++ frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
 * [[https://github.com/nothings/single_file_libs|nothings/single_file_libs]]: List of single-file C/C++ libraries
 * [[https://github.com/hughperkins/Jinja2CppLight|hughperkins/Jinja2CppLight: (very) lightweight version of Jinja2 for C++]]

== Other stuff ==

 * [[https://www.conan.io/|Conan C/C++ Package Manager]]

== Videos ==

=== Curiously recurring C++ bugs at Facebook ===

[[https://www.youtube.com/watch?v=3MB2iiCkGxg|Curiously recurring C++ bugs at Facebook]]

  * Use `-fsanitize-address` and `-fsanitize-address-use-after-scope`
  * Use `-Wshadow`, and deal with noisy warnings

See also CodingStyle/C++.

STL

Wrap an existing C-style pointer to an array with std::vector: http://stackoverflow.com/a/15203325/14878; modifies std::vector internals to work.

C++11

Move semantics/perfect forwarding

Smart pointers

Data structures

B-tree-based maps & sets

  • In 2013, Google open-sourced a mostly-STL-compatible b-tree implementation: B-tree containers from Google. The old project is on Google code, but JGRennison/cpp-btree is a fork with minor fixes and some C++11 support (e.g. move constructors, etc).

  • bingmann/stx-btree

  • tlx library contains a fast loser tree implementation, a newer version of the bingmann/stx-btree implemtnation, a smart pointer replacement for shared_ptr called counting_ptr, and std::string helper functions missing from STL.

C++ and Python

Interesting libraries

Other stuff

Videos

Curiously recurring C++ bugs at Facebook

Curiously recurring C++ bugs at Facebook

  • Use -fsanitize-address and -fsanitize-address-use-after-scope

  • Use -Wshadow, and deal with noisy warnings

SamatsWiki: ProgrammingLanguages/C++ (last edited 2022-03-17 01:17:02 by SamatJain)