Requirements for STL/CLR Container Elements

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Requirements for STL/CLR Container Elements.

All reference types that are inserted into STL/CLR containers must have, at a minimum, the following elements:

  • A public copy constructor.

  • A public assignment operator.

  • A public destructor.

Furthermore, associative containers such as set and map must have a public comparison operator defined, which is operator< by default. Some operations on containers might also require a public default constructor and a public equivalence operator to be defined.

Like reference types, value types and handles to reference types that are to be inserted into an associative container must have a comparison operator such as operator< defined. The requirements for a public copy constructor, public assignment operator, and a public destructor do not exist for value types or handles to reference types.

See Also

Standard Template Library