C plus plus:Modern C plus plus:Glossary

From GPWiki

Files:GUITutorial_warn.gif The Game Programming Wiki has moved! Files:GUITutorial_warn.gif

The wiki is now hosted by GameDev.NET at wiki.gamedev.net. All gpwiki.org content has been moved to the new server.

However, the GPWiki forums are still active! Come say hello.

Modern C++ : Going Beyond "C with Classes"

This is a limited glossary for terms related to this series of articles. The Wiki-wide Glossary has many more entries.

Contents

Aggregate

An aggregate is an array or a class with no user-declared constructors, no private or protected non-static data members, no base classes, and no virtual functions.

You can use initialiser list syntax like you would in C on aggregates only.

Amortized Complexity

Average complexity over a large number of calls.

For example, push_back on a std::vector is amortized O(1) because it occasionally needs an O(n) reallocation, but only once every n calls or so, with the rest being O(1). Since this means O(n) for n calls, the per-call complexity averages to O(1).

Fundamental Type

One of the basic types in the C++ language, such as int, unsigned char, double, bool, array, or pointer.

Note that structs and classes are not fundamental.

N-ary Function

A Function that takes N parameters.

Nullary Function

A Function that takes no arguments.

POD Type

Plain Old Data Type

All fundamental types are POD Types. structs ( or classes, since they're the same ) are POD if all their member types are POD types and they have the default, compiler-generated default constructor, copy constructor, assignment, and destructor. ( This implies that construction and destruction are NOPs and copying or assignment can be done with a bitwise copy. )

Unary Function

A Function that takes exactly one argument.