Found Gallery of Processor Cache Effects… also of interest CPU cache, Memory Management Unit, and CPUID on Wikipedia.
Category Archives: Programming
What every programmer should know about memory
Just stumbled upon What every programmer should know about memory:
C++ Virtual Destructors and Base Classes
I’ve been wondering what happens when a derived class defines a virtual destructor. What about its base destructors? Are they called? If so, when? I finally read the right paragraph in The C++ Programming Language (pg 70):
A virtual destructor is essential for an abstract class because an object of a derived class is usually manipulated through a pointer to a base class. Then, the virtual function call mechanism ensures that the proper destructor is called. That destructor then implicitly invokes the destructors of its bases and members.
Still not sure when the bases and members are destructed, presumably after the derived virtual destructor…
C++ nested classes
Am reading The C++ Programming Language, 4ed, by Bjarne Stroustrup and his sixteenth suggestion for Java programmers (pg 21) is:
A C++ nested class does not have access to an object of the enclosing class.
I didn’t know that!
C++ variables and references
Am reading The C++ Programming Language, 4ed, by Bjarne Stroustrup and his sixth suggestion for Java programmers (pg 21) is:
Remember: a variable is never implicitly a reference.
I didn’t know that!
15 Sorting Algorithms in 6 Minutes
15 Sorting Algorithms in 6 Minutes is quite cool…
Tufte CSS
Check out Tufte CSS…
Delete until next character occurrence in Vim
In vim, to search for next ‘>’ use: f>
To delete until next ‘”‘ use: df”
To delete an *ML attribute, e.g. use: df”.
ARM assembler in Raspberry Pi
Reading about ARM assembler in Raspberry Pi…
x86 calling conventions
Reading about x86 calling conventions…