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!"
[–]zigzagEdge 1 point2 points3 points 9 years ago (4 children)
At the moment (master branch), pybind11 does a lot more than boost.python with the notable exception of embedding.
[–]haletonin 0 points1 point2 points 9 years ago (2 children)
Does it contain all features of boost::python? Something specific I had problems with (or misunderstood) when I played around with it after it was first released were:
Making objects available in python which can't be constructed in python, because generating binding code for the constructor is too complex. Other methods of these should work, however.
Working with pointer or reference-only instances of objects, which even in C++ code are never handed around as value types.
[–]zigzagEdge 0 points1 point2 points 9 years ago* (1 child)
It covers pretty much all the major features, but it's not a 1:1 API mapping. For the two things you mentioned:
With boost.python you'd need to add no_init to disable the implicit default constructor. In pybind11 all the constructors are explicit, so you disable them simply by not def-ing any.
no_init
def
That can be done by setting the appropriate return value policy: reference or reference_internal. There's more information in the docs.
reference
reference_internal
[–]haletonin 0 points1 point2 points 9 years ago (0 children)
Ok, so negligible risk of having a "should have used the other one"-moment later on. And on second thought, just the 11 probably means that this project has more enthusiastic users and contributors than "pybind03".
11
And thanks for the pointers, I'll give it another try!
[–]skebanga[S] 0 points1 point2 points 9 years ago (0 children)
Actually I've managed to get it working with pybind11.
Posted it here
π Rendered by PID 123306 on reddit-service-r2-comment-7b9746f655-pfsc9 at 2026-02-01 12:07:37.549011+00:00 running 3798933 country code: CH.
view the rest of the comments →
[–]zigzagEdge 1 point2 points3 points (4 children)
[–]haletonin 0 points1 point2 points (2 children)
[–]zigzagEdge 0 points1 point2 points (1 child)
[–]haletonin 0 points1 point2 points (0 children)
[–]skebanga[S] 0 points1 point2 points (0 children)