On 03/28/2013 11:29 AM, Williams, Norman K wrote:
> There is a standard way to poison assignment and copy constructor, which
> is to declare them protected and then not implement them.  This is
> implemented consistently across all classes that derive ultimately from
> itk::LightObject.

I meant that *those* poisoned operators return void.  Others should not.

> The copy/swap paradigm is recommended a lot of places. I haven't
> encountered a case in ITK that it would make a difference.  The usual
> pattern suggested is
> 
> X& operator=(const X &x)
> {
>   X tmp(x);
>   swap(*this,x);

s/x/tmp/

However, see here for why to pass by value:

 http://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap-idiom
 http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/

-Brad
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers

Reply via email to