Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2005-04-27 14:09:14

"David Abrahams" <dave_at_[hidden]> wrote in message
| "Thorsten Ottosen" <nesotto_at_[hidden]> writes:

| > | Controversialness is in the eye of the beholder, and regardless,
| > | Peter's right: by convention, the burden of proof lies with the
| > | claimant.
| >
| > I disagree.
| Then I will accept the burden of proof for my claim:

I don't see how that changes anything.

| > Pick up you're favourite book on OO and on STL and see if the
| > programming techniques look alike.
| That's a very parsimonious explanation. It would be nice if you'd try
| to make it a bit clearer in the context of the question of duplicating
| objects, and show how it justifies a choice to prohibit ptr_containers
| from acting like proper values.

the first reason must be its damn expensive without move-semantics.

the second reason is that value-based and OO programming are different and are
kept seperate; there are different idioms, different parts of the langauge is
being used.
copying is not that common an operation in OO programming; it is in
value-based programming etc etc.

there has to be one default (with good and bad sides); I've chosen the default
that I feel, based on experience, fits the goal of the
library best; that decision was to make sure the programmer only made copies
when he really wanted to.

you're analogy with vector<string> don't quite fit IMO. assigning
vector<string> might be quite efficient with very few
heap-allocations taking place; assigning ptr_vector<Foo> would cost the same
as copy-construction + deallocation.

| > | > stuff like "value-based programming is not different from
| > | > OO-programming"
| > |
| > | Nobody made that statement.
| >
| > Peter asked the question.
| That's very different from making the claim.

but it still feel a silly question to ask me to answer.


Boost list run by bdawes at, gregod at, cpdaniel at, john at