Skip to content

A system for reflection in C++

Duraid Madina, Russell K. Standish

cs.PLarXiv:cs/0401024

Abstract

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can reflect (i.e. make runtime queries of an object's structure). This allows, for example, a fairly trivial serialisation routine (conversion of an object into a binary representation that can be stored or passed over a network) to be written. However C++ does not offer this ability, as type information is thrown away at compile time. Yet C++ is often a preferred development environment, whether for performance reasons or for its expressive features such as operator overloading. In this paper, we present the Classdesc system which brings many of the benefits of object reflection to C++.

Create a lesson