
"David Abrahams" <dave@boost-consulting.com> wrote in message news:uacnkw0cr.fsf@boost-consulting.com... | "Thorsten Ottosen" <nesotto@cs.auc.dk> 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: | http://en.wikipedia.org/wiki/Burden_of_proof#Other_uses | http://www.nizkor.org/features/fallacies/burden-of-proof.html 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 best 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. -Thorsten