I'm the Grumpy Old Ape sometimes answering C++ questions on Stackoverflow.
Usually you will find me in the C++ Lounge of the Stack Overflow chat.

I occasionally retweet something on my Twitter account, and I'm known to even generate my own tweets once in a while.

14h
comment How and when should I tell my son his AMAZING father isn't his biological father?
My case is quite different from this one, but OTOH there's nothing special about it, so I could only repeat what everybody is saying: For most people their biological origin is something which, for whatever inexplicable reason, is very important to know about. (Try to apply the "you don't miss your water until..." saying if you think you disagree.) This is, as I said, nothing special, you'll find it all over the web. Sorry, but I don't think arriving at what's basically common knowledge is worth giving up so much of my privacy.
14h
comment How and when should I tell my son his AMAZING father isn't his biological father?
Having learned about my biological father very late in life, I totally disagree with this answer.
21h
revised C++ code error in my practice code
deleted 2 characters in body
21h
reviewed Approve suggested edit on C++ code error in my practice code
1d
awarded Nice Answer
2d
comment Difference between a virtual function and a pure virtual function
@Nick: Indeed. Only that C++ gives you more freedom about it. (You can implement pure virtual functions in C++ and you can mix pure, non-pure, and non-virtual functions in the same class. (Usually it's a good idea to not to do that, but if you need it, you can.)
2d
comment Why do iterators need to be default-constructible
You could save just as well copy-constructed iterators, couldn't you? All in all, there's a lot of hand waving in this answer.
2d
comment Why do iterators need to be default-constructible
@Jonathan: Oh, there's the examples! 10secs before I hit enter on my comment asking for them. :)
2d
comment Why do iterators need to be default-constructible
In fact, when I was asked this question by a colleague, my immediate gut reaction was "I bet there's algorithms that need default-constructible iterators." Then this would boil down to outweighing the advantage of having a dctor available against the need to semantically define what it does for every iterator category. That would make sense to me. However (and this is by no means criticizing your answer), I was fishing for something less vague and more substantial here. What (class of) algorithms would need iterators with dctors and won't work on i/o iterators?
2d
awarded Nice Question
2d
comment Why do iterators need to be default-constructible
@MSalters: Now.
2d
comment Why do iterators need to be default-constructible
To me this seems very STL container-specific. It's easy to think of some custom iterator that stores more state than a std::vector<>::iterator and where that state cannot be created out of nothing either. And why shouldn't input and output iterator be singular? (In fact, stream iterators are default-constructible.)
2d
asked Why do iterators need to be default-constructible
Mar
1
revised why does this not compile if operator delete has no implementation
allow me to un-downvote
Mar
1
comment why does this not compile if operator delete has no implementation
@Brian: You are right. I missed that. TBH, though, it is one paragraph in this incredibly long answer that actually explains what's going on: "Therefore: if your class has a constructor or destructor defined..." I simply missed it. Actually, would you cut this long answer to this paragraph and the two before (and maybe the one after), it would be just as relevant and twice as helpful.
Mar
1
comment why does this not compile if operator delete has no implementation
@Brian: You do not answer why the operator is needed at all.
Feb
28
comment Calling assignment operator in copy constructor
@camino: If Foo it's an abstract base class, then you will refer to derived classes though Foo pointers and references, because that's what polymorphic class hierarchies are for. And you cannot assign values through references. (It just doesn't make sense to assign an automobile to an airplane through two vehicle references.) Assignment is for value classes. if inheritance is involved with this, then (hopefully) there's no virtual functions involved, and thus no abstract base classes. (In polymorphic class hierarchies, you need to clone(), rather than copy.)
Feb
28
comment Calling assignment operator in copy constructor
@camino: What you ask makes no sense. Assignment is for value classes, not for polymorphic base classes. Are you perhaps confusing values and references?
Feb
27
comment Calling assignment operator in copy constructor
@camino: What then? Assignment in an abstract base class? Sounds fishy.
Feb
27
accepted Can I empty-base optimize mutable data?
1 2 3 4 5