C++ on a Friday
- Posts
- 93 from 18 Mar 2010 to 31 Oct 2025
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://blog.knatten.org/feed/
2025 3
2024 5
2023 2
2022 1
2021 1
2019 1
2018 11
- static_assert in templates
- +!!””
- Why you can’t list-initialize containers of non-copyable types
- CppQuiz Android App now available!
- New design, for improved readability!
- CppQuiz.org now uses C++17
- Help save CppQuiz.org! We’re porting to C++17.
- New job: Zivid Labs!
- Trying out C++17 on macOS
- lvalues, rvalues, glvalues, prvalues, xvalues, help!
- Non-virtual destructors
2016 1
2014 2
2013 4
2012 15
- How to avoid includes in headers
- Another Reason to Avoid #includes in Headers
- Efficient Pure Functional Programming in C++ Using Move Semantics
- A Bad(?) Excuse for Private Inheritance
- Notes From My GoogleTest Demo
- Installing and Using GoogleTest with Visual Studio
- New Software Community, and Google Test Demo
- Private Inheritance
- C++ Puzzle #1: Initialization Order
- Why Return Codes Make Me Mad
- Avoiding Heap Allocations With Static Thread Locals
- A String Literal is not a string
- Why we should see an uptake in usage
- Zero-overhead test doubles (mocks without virtual)
- Basic gloox Tutorial
2011 10
- Disempower Every Variable
- Undefined Behaviour — Worse Than its Reputation?
- The Difference Between Unspecified and Undefined Behaviour
- Don’t be Afraid of Returning by Value, Know the Return Value Optimization
- Use boost list_of if You Can’t Have Uniform Initialization Yet
- Modify Visibility in a Subclass to Allow Testing
- Make a Derived Class to Allow Testing an Abstract Class
- The Minesweeper Kata in 15 lines of C++
- Uniform Initialization Simplifies Testing
- What I’ve Been Working On
2010 37
- I am Taking a Hiatus
- What I Have Against Precompiled Headers
- On the Importance of Fitting in
- Minimize the Scope of Each Variable
- An Interface is More than Names and Arguments
- Allow the Compiler To Do Copies for You
- Compiling Boost with STLPort on Windows
- Show Me Your Signature, and I’ll Tell You Who You Are
- A Summary of “const”, Part One
- Changing the Unchangeable
- Please Make Member Functions Const Whenever Possible
- Static and Dynamic Polymorphism – Siblings That Don’t Play Well Together
- New Job, and Windows Survival 101
- Book Review: Effective C++ by Scott Meyers
- Don’t Put All Includes in the .hxx
- Use Your Head Before Using Using in Headers
- The Order of #include Directives Matter
- The Simplest Possible Introduction to Traits
- Why You Shouldn’t Throw in Destructors
- Why Algorithms Need two Iterators
- What’s the Point of Function Try Blocks
- Why Member Functions are not Virtual by Default
- New sourcecode formatting
- Puzzle #0: Call Sequence
- Why Initializer Lists don’t Work with Base Members
- Array Initialization Initializes all Elements
- Be Careful with Static Variables
- Make APIs hard to use incorrectly
- How ++c can be Faster than c++
- A Quick and Simple Worklog
- Friends vs. Dependency Injections
- Always catch exceptions by reference
- C++0x highlights #0: Range Based For Loop
- XP Meetup: 97 Things Every Programmer Should Know
- Quick Tip: Ensuring proper indentation in vim
- The returning function that never returned
- New Blog!