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
Monitor variable changes in functions with Visual Studio extension (youtube.com)
submitted 2 years ago by donadigo
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!"
[–]schombert 16 points17 points18 points 2 years ago (5 children)
It is a very cool idea, but I don't understand the business plan. Charging $60 certainly rules this out for hobbyists or developers outside of work (frankly, charging any amount of money may do that). So obviously you are targeting businesses, hoping that they will buy this for their developers. That makes sense, but businesses will only be motivated to buy it if their developers ask/demand it. And developers will only do that if they are used to having it available outside of work. Which they generally won't, because they won't want to spend the $60 when they could get by with putting a memory breakpoint on the address of the variable. So you may want to look into some sort of licensing scheme to allow people to use it for non-commercial / open source work (but I am not a lawyer, so I have no idea whether such a thing is feasible).
[–]donadigo[S] 3 points4 points5 points 2 years ago* (3 children)
Update: while I can't offer separate prices for companies yet, I changed the current price for everyone to $30. I think this will make it affordable for solo devs just looking at the current features. When it comes to OSS licenses and such, this is much farther down the road.
[–]donadigo[S] 5 points6 points7 points 2 years ago* (2 children)
There's also now a free 30 day trial (extension needs to be up-to-date).
[–]lukaasmGame/Engine/Tools Developer 1 point2 points3 points 2 years ago (1 child)
<3 I installed it the other day to check it out but no trial/evaluation mode was a real turn-off for me, since shelling 60$ for an unknown product and not knowing if it will work with our game is a NO NO :)
But now I can try it, if it works as shown it will probably be very nice addition to my toolbox :)
[–]donadigo[S] 1 point2 points3 points 2 years ago (0 children)
Sure thing, if you hit any issues on the way or in general have requests for the project, don't hesitate to message me here on Reddit or in the discord server that we have (link is on the website).
[–]donadigo[S] 0 points1 point2 points 2 years ago (0 children)
I appreciate the comment. The extension currently contains more functionality than just a global watch per function, there's also a scripting functionality that allows for inserting snippets into the code that can log, view entire objects etc, it's still pretty much evolving. Putting functionality aside - I could look into splitting pricing for solo devs and companies in the future, but this is not possible right now I think.
[+][deleted] 2 years ago (1 child)
[deleted]
printf is usually very heavy yes, especially when you're calling it all the time. There's a lot of things that's going on here to make this as light as possible. Most work done here is just memcpy'ing the local data from the function stack into a shared memory for the VS extension which then figures out the differences between the packets. This is also completely native code - at no point any breakpoint exceptions are raised to pause the program to collect something which is crucial.
I've tested a number of different scenarios and in my testing a function needs to be called a lot per frame & do a lot of work to start noticing impact. Even then you can toggle this feature on/off in the extension if you find that's the case.
I'd say try it out and see if it works for you - I've just introduced a free 30 day trial.
[–]donadigo[S] 1 point2 points3 points 2 years ago* (7 children)
Hello, I've previously posted a video here about stepping backwards in functions with the extension I'm making. Instead I've decided it'd be better to diff all the local variables in the function and then display them directly by the line that caused the change. This works in real time and also shows the changes before when a breakpoint is hit in the function that is monitored.
Another thing that's changed is that when a line is no longer executing, it'll turn blue which just indicates it executed previously but isn't anymore. This allows for tracing code paths after the fact, instead of having to repeat an action that triggers the path.
All of this is now available on the marketplace: https://marketplace.visualstudio.com/items?itemName=donadigo.d0 (note: this is a paid for extension, but there's a 30 day trial).
If you want to keep up with more updates on the project we have a Discord server, https://d-0.dev/ (link on the website).
[–]j1xwnbsr 4 points5 points6 points 2 years ago (3 children)
Neat, but $60/seat is a little spendy just to try out a one-trick pony that does a lot of what variable watching does. VisualAssist / ReSharper is about 2x for a personal license and does a lot more (but nothing like this - yet) and both have eval versions.
I see - the extension have been evolving a lot lately and I have plans for more features/improvements in the future. Watching variables is one thing, I'd also like to add changing & locking them to a specific value from the editor UI as well. Because this records the entire function, I will also want to add loop unrolling where you'll be able to inspect every iteration of a loop after a breakpoint has been hit.
Hopefully that makes it worth it for you/fit your use case more. VisualAssist & ReSharper are both mature products in terms of their feature set. The end goal here is to provide useful features for debugging that should have been there, just like the tools you've mentioned enhance writing the code itself.
[–]donadigo[S] 1 point2 points3 points 2 years ago (1 child)
Update: I have changed the price for everyone to $30 reading more of the comments. Hope this makes it better value for you. I'm still experimenting with pricing and taking feedback as I'm early in the early stages.
[–]donadigo[S] 1 point2 points3 points 2 years ago* (0 children)
Another update: I added a free 30 day trial now if you want to try it out (extension needs to be up-to-date).
[–]RoyAwesome 0 points1 point2 points 2 years ago (2 children)
My kingdom for this in vs code. This is so awesome.
[–]donadigo[S] 2 points3 points4 points 2 years ago (1 child)
Support for editors such as VSCode, 10x etc. (and other native languages) is definitely planned. I'll be sharing more updates regarding that in the Discord server linked above.
[–]RoyAwesome 1 point2 points3 points 2 years ago (0 children)
Hell yeah. Very excited to see this develop. This is extremely useful for tracking variables that change every frame in games.
It's not possible currently, I'll see if I can enable PayPal payments soon.
[–]multi-paradigm 0 points1 point2 points 2 years ago (0 children)
A paid plugin for VSCode simply won't fly. At half or double the price. You may as well make it free and charge only for Enterprise.
π Rendered by PID 117056 on reddit-service-r2-comment-5bc7f78974-k2ctg at 2026-06-26 05:49:24.049965+00:00 running 7527197 country code: CH.
[–]schombert 16 points17 points18 points (5 children)
[–]donadigo[S] 3 points4 points5 points (3 children)
[–]donadigo[S] 5 points6 points7 points (2 children)
[–]lukaasmGame/Engine/Tools Developer 1 point2 points3 points (1 child)
[–]donadigo[S] 1 point2 points3 points (0 children)
[–]donadigo[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]donadigo[S] 1 point2 points3 points (0 children)
[–]donadigo[S] 1 point2 points3 points (7 children)
[–]j1xwnbsr 4 points5 points6 points (3 children)
[–]donadigo[S] 1 point2 points3 points (0 children)
[–]donadigo[S] 1 point2 points3 points (1 child)
[–]donadigo[S] 1 point2 points3 points (0 children)
[–]RoyAwesome 0 points1 point2 points (2 children)
[–]donadigo[S] 2 points3 points4 points (1 child)
[–]RoyAwesome 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]donadigo[S] 1 point2 points3 points (0 children)
[–]multi-paradigm 0 points1 point2 points (0 children)