Q:

do the default catch throw statements in C++ pass by value or reference

How does the default catch statement catch(...) {} catch an exception, by value or by reference?
Secondly, how does the default throw throw; throw an exception, by value or by reference?

A:

The catch-all catch (...) doesn't give you access to the exception object at all, so the question is moot. [Corrected:] Rethrowing with throw; throws the original object. If the handler catches by value, then changes to the local copy do not affect the original, rethrown object.[/] See 15.3 (esp. clause 17) for details.
Check out some of the related questions on the right, like this one or this one and this one and this one.

