Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #14543
| From | yatremblay@bel1lin202.(none) (Yannick Tremblay) |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: A question on "uncopyable" that disable copy constructor |
| Date | 2012-02-27 14:32 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <jig452$rua$1@dont-email.me> (permalink) |
| References | <22985212.2610.1329972334326.JavaMail.geo-discussion-forums@ynnk21> <slrnjkbv9a.1ls.grahn+nntp@frailea.sa.invalid> <9qsqcuFvjbU1@mid.individual.net> <slrnjkieqh.1ls.grahn+nntp@frailea.sa.invalid> |
In article <slrnjkieqh.1ls.grahn+nntp@frailea.sa.invalid>,
Jorgen Grahn <grahn+nntp@snipabacken.se> wrote:
>On Sat, 2012-02-25, Ian Collins wrote:
>> On 02/23/12 09:47 PM, Jorgen Grahn wrote:
>>> On Thu, 2012-02-23, Ian Collins wrote:
>>>> On 02/23/12 05:45 PM, TH wrote:
>>>>> Meyer's Effective C++ book talks about the case where you may ...
>>>>>
>>>>> class HomeForSale {...}
>>>>>
>>>>> It doesn't make sense to do:
>>>>>
>>>>> HomeForSale h1(h2); or h1 = h2.
>>>>>
>>>>> No problem. However, Does disallowing the copy constructor...
>>>>>
>>>>> std::vector<HomeForSale> home_vec;
>>>>> home_vec.push_back(h1); // need copy constructor??
>>>>
>>>> Yes.
>>>>
>>>>> It sounds like a severe constraints on the possible use of such object,
>>>>> am I missing anything?
>>>>
>>>> The reason not to allow copying? If it is inappropriate or too
>>>> expensive to copy a T, use a container of (smart) pointers to T.
>>>
>>> It should be added though, that the uniqueness of a HomeForSale is not
>>> enough reason to go crazy with smart pointers. If I saw a need to
>>> place such a thing in a std::vector, I wouldn't hesitate to make it
>>> copyable. I would also (reluctantly) add a default constructor if
>>> needed, even though it means introducing "the nil home for sale".
>>
>> That's why I clearly said "If it is inappropriate or too expensive to
>> copy a T". Some things shouldn't, or simply can't be copied.
>
>I know you did; I just added my view that conceptual uniqueness of
>things like a HomeForSale does not make copying "inappropriate"
>enough.
I am quite willing to agree with the idea that conceptual uniqueness
may not necessarily require to actually make the object non-copyable.
If there's really a need for the object to be copied, then by all
mean, go for it and figure out a different way to preserve uniqueness.
I am however concerned with the statement "go crazy with smart
pointer". Are you suggesting that:
std::vector< std::shared_ptr<HomeForSale> > home_vec;
is going crazy?
Yannick
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
A question on "uncopyable" that disable copy constructor TH <python152@gmail.com> - 2012-02-22 20:45 -0800
Re: A question on "uncopyable" that disable copy constructor Ian Collins <ian-news@hotmail.com> - 2012-02-23 18:33 +1300
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-23 08:47 +0000
Re: A question on "uncopyable" that disable copy constructor Ian Collins <ian-news@hotmail.com> - 2012-02-26 08:16 +1300
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-25 19:49 +0000
Re: A question on "uncopyable" that disable copy constructor yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-02-27 14:32 +0000
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-27 15:54 +0000
Re: A question on "uncopyable" that disable copy constructor yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-02-27 16:15 +0000
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-27 20:58 +0000
Re: A question on "uncopyable" that disable copy constructor Ian Collins <ian-news@hotmail.com> - 2012-02-28 17:18 +1300
Re: A question on "uncopyable" that disable copy constructor Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-02-28 00:00 -0500
Re: A question on "uncopyable" that disable copy constructor Ian Collins <ian-news@hotmail.com> - 2012-02-28 20:09 +1300
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-28 21:19 +0000
Re: A question on "uncopyable" that disable copy constructor Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-03-04 01:05 -0500
Re: A question on "uncopyable" that disable copy constructor 88888 Dihedral <dihedral88888@googlemail.com> - 2012-03-04 18:01 -0800
Re: A question on "uncopyable" that disable copy constructor Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-02-28 22:02 +0000
Re: A question on "uncopyable" that disable copy constructor Ian Collins <ian-news@hotmail.com> - 2012-02-29 11:15 +1300
Re: A question on "uncopyable" that disable copy constructor Miles Bader <miles@gnu.org> - 2012-02-23 15:14 +0900
Re: A question on "uncopyable" that disable copy constructor "T.H." <python152@gmail.com> - 2012-02-23 01:51 -0800
Re: A question on "uncopyable" that disable copy constructor bartek szurgot <basz@no.spam> - 2012-02-24 17:18 +0100
Re: A question on "uncopyable" that disable copy constructor Juha Nieminen <nospam@thanks.invalid> - 2012-02-25 19:10 +0000
Re: A question on "uncopyable" that disable copy constructor Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-02-25 17:45 -0500
Re: A question on "uncopyable" that disable copy constructor Juha Nieminen <nospam@thanks.invalid> - 2012-02-26 09:38 +0000
Re: A question on "uncopyable" that disable copy constructor Juha Nieminen <nospam@thanks.invalid> - 2012-02-26 09:42 +0000
Re: A question on "uncopyable" that disable copy constructor Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2012-02-27 23:23 -0500
Re: A question on "uncopyable" that disable copy constructor 88888 Dihedral <dihedral88888@googlemail.com> - 2012-02-28 17:01 -0800
csiph-web