Assignment and Copying
This section takes a look at the copying of CORBA data types in C++. This is a trivial exercise for simple data types such as short or float, but for compound types the operation of copying is complicated by a couple of factors.
First of all, you have to decide if you want to make a physical copy of the data or if you just want to copy a pointer to the original data. The concept of deep and shallow copy is introduced to clarify copying semantics.
You also have to contend with the fact that there are different ways of referring to CORBA data in C++ (by value, by pointer, or by smart pointer). Mixed assignments between these different representations are possible. Some of the resulting assignment permutations are discussed ...