18. Structs

Structs are similar to classes in that they represent data structures that
can contain data members and
function members. However, unlike classes, structs are value types and do
not require heap allocation. A
variable of a struct type directly contains the data of the struct, whereas
a variable of a class type contains a
reference to the data, the latter known as an object.
[Note: Structs are particularly useful for small data structures that have
value semantics. Complex numbers,
points in a coordinate system, or key-value pairs in a dictionary are all
good examples of structs. Key to
these data structures is that they have few data members, that they do not
require use of inheritance or
referential identity, and that they can be conveniently implemented using
value semantics where assignment
copies the value instead of the reference. end note]
As described in §11.1.3, the simple types provided by C#, such as int,
double, and bool, are, in fact, all
struct types. Just as these predefined types are structs, it is also
possible to use structs and operator
overloading to implement new ?primitive? types in the C# language. Two
examples of such types are given
at the end of this chapter (§18.4).

你可能感兴趣的:(C++,c,C#)