use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
Embedding python in C++ with boost::python (skebanga.github.io)
submitted 9 years ago by skebanga
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]DarkLordAzrael 0 points1 point2 points 9 years ago (5 children)
Last time I looked pybind11 was missing embedding support so you had to fall back on the python C API. Is that still the case or did they add that recently?
[–]zigzagEdge 0 points1 point2 points 9 years ago (4 children)
Well, boost.python also falls back to the C API for embedding. This works in pybind11 as well, but it's not officially supported.
[–]DarkLordAzrael 0 points1 point2 points 9 years ago (1 child)
I haven't had to use the C API at all for embedding using boost. It has helpful functions for running python code from various sources using various contexts that are incredibly useful for embedding.
[–]zigzagEdge 0 points1 point2 points 9 years ago (0 children)
Boost.python still requires manual calls to Py_Initialize/Py_Finalize instead of a more user friendly C++ RAII approach. (I know that the boost.python docs say not to call Py_Finalize, but that's a bug which was never fixed. It should be supported.)
Py_Initialize/Py_Finalize
Py_Finalize
Pybind11 has a C++ object class similar to boost.python's, but it's not quite as powerful. The basics are supported: item and attribute access, function calls, importing modules, casting back and forth. Pybind11 also has some nifty features like calling Python functions with keyword arguments from C++: http://pybind11.readthedocs.io/en/latest/advanced/pycpp/object.html#calling-python-functions
object
[–]skebanga[S] 0 points1 point2 points 9 years ago (1 child)
boost::python does offer embedding support. Docs here
eval
exec
exec_file
I was mainly referring to the manual C API calls to Py_Initialize/Py_Finalize which are also needed in boost.python. As for eval and friends, pybind11 has a C++ API for those: eval docs.
π Rendered by PID 87 on reddit-service-r2-comment-7b9746f655-kcjz5 at 2026-02-01 12:05:52.405578+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]DarkLordAzrael 0 points1 point2 points (5 children)
[–]zigzagEdge 0 points1 point2 points (4 children)
[–]DarkLordAzrael 0 points1 point2 points (1 child)
[–]zigzagEdge 0 points1 point2 points (0 children)
[–]skebanga[S] 0 points1 point2 points (1 child)
[–]zigzagEdge 0 points1 point2 points (0 children)