The above field is supplemented with consent to receive a newsletter containing information and marketing content about the cppstories.com portal from Bartłomiej Filipek codebf based in Krakow. The consent may be withdrawn at any time. See the full Privacy Policy.
As you might already know, I work remotely. That’s why I try to follow and read guidelines/articles that relate to that style of working. Recently, I got very curious when I saw a new book called “Async Remote” from the Arkency team. Let’s see what it offers.
Warning: the book is not only about remote!
In June I’ve listed 11 tips that can save your time when doing debugging. As it appears, the article wasn’t that horrible :) I got a chance to update the content, extend the text and publish it on Visual Studio Magazine!
Instead of original 11, there are now 9 separate articles:
I must confess that, over the last few years, I’ve become somewhat obsessed with the idea of making all variables const. Whenever I declare a variable within a function body, I consider whether I can make it constant. Here’s why I believe you should adopt the same approach.
I wrote this blog post in 2016 and refreshed it in 2023.
Variadic Templates from C++11 is probably not a feature that you use on a daily basis. But recently, I’ve come across one refactoring example where I’ve decided to give a try and apply variadics.
Intro When I was doing some work in some old UI code I’ve noticed several similar lines of code that looked like that:
Some time ago I covered how to use custom deleters with smart pointers. The basic idea is to specify a dedicated method that will be called when a pointer is released. One logical application of custom deleters might be resource handles like files or the WinApi HANDLE type.
Let’s see how can we implement such thing.
It’s summer! Hmm… actually it’s summer for almost one month now. This time, I don’t want to write about something heavy and related to programming. Let’s make a little summary of the first part of the year.. and also, I have a question to you - can you help me a bit?
As you might read in my recent post - coding without Google - I’ve started learning to program mostly from books. In the beginning, I read them from cover to cover (assuming I could understand them!) and recreated examples. It was an excellent time! In the post, I’d like to share my list of important books that taught me the base of my knowledge.
Since 2011, when C++11 arrived, we all should be changing our coding style into modern C++ and at the same time keep good old tips. There are also general rules for programming and bug-free coding. Here’s a list of guidelines and other resources that might help you.
Core C++ Guidelines Main site: C++ Core Guidelines
Programming is not only typing the code and happily see how smoothly it runs. Often it doesn’t run in a way we imagine! Thus, it’s crucial to debug apps effectively. And, it appears that the debugging is an art on its own! Here’s my list of tips that hopefully could help in debugging native code.
Some time ago I wrote about micro benchmarking libraries for C++ - here’s the link. I’ve described three libraries: Nonius, Hayai, Celero. But actually, I wanted to cover fourth one. Google Benchmark library was at that time not available for my Windows environment, so I couldn’t test it. Fortunately, under the original post I got a comment saying that the library is now ready for Visual Studio!
Let’s say we have the following code:
LegacyList* pMyList = new LegacyList(); ... pMyList->ReleaseElements(); delete pMyList; In order to fully delete an object we need to do some additional action.
How to make it more C++11? How to use unique_ptr or shared_ptr here?
Intro We all know that smart pointers are really nice things and we should be using them instead of raw new and delete.
Visual Studio is my main development environment. I’ve been using this tool probably since version 2003…2005. I am really happy that VS is getting more and more powerful these days and you can also use it on multiple-platforms (through VS Code, for web or cloud apps). What’s even better - it’s free for personal use or if you’re a small company (Community Version)!