Mercurial > ~dholland > hg > ag > index.cgi
diff doc/misc/html/oldclasslib/array.html @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/misc/html/oldclasslib/array.html Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,119 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> +<TITLE>Array Storage Class Definition</TITLE> +</HEAD> + + +<BODY BGCOLOR="#ffffff" BACKGROUND="tilbl6h.gif" + TEXT="#000000" LINK="#0033CC" + VLINK="#CC0033" ALINK="#CC0099"> + +<P> +<IMG ALIGN="right" SRC="../images/agrsl6c.gif" ALT="AnaGram" + WIDTH=124 HEIGHT=30 > +<BR CLEAR="all"> +Back to : +<A HREF="../index.html">Index</A> | +<A HREF="index.html">Class libraries for examples</A> +<P> + +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> + +<H1>Array Storage Class Definition</H1> +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> +<BR> +<H2>Introduction</H2> +<P> + + <CODE>array<class T> </CODE> + is a template class that provides for storage + of arrays of any type. It takes care of allocating storage + and releasing it on function exit. It also checks all array + accesses for valid index values, providing protection against + out of bounds references. +<P> +<BR> + +<H2> Constructors </H2> + + There are two constructors: +<PRE> + array<class T>(unsigned n); + array<class T>(T *init_array, unsigned n); +</PRE> + The first constructor simply allocates an array of n elements + of type T and clears the array to zero. +<P> + The second constructor allocates an array of n elements of + type T and copies the contents of init_array to it. +<P> + Examples: +<PRE> + array<int> integers(300); + array<char> str("Hello, world", 13); +</PRE> +<P> +<BR> + +<H2> Data Access </H2> + + Two overloaded operators, the cast operator <CODE> (T *) </CODE> + and the subscript operator <CODE> []</CODE>, provide access to the + contents of the array. The cast operator provides a pointer to the + data in the array. The subscript operator provides a reference to a + particular element, which can be used either to read or to + write the element. Note that the use of cast operators is + often implicit rather than explicit. +<P> + For example, using the above declarations, one may write: +<PRE> + int k = integers[20]; + int *p = integers; // Implicit use of cast operator + char *sp = str; // Implicit use of cast operator + char c = str[5]; + str[6] = '!'; +</PRE> + The effect of these definitions is that for almost all + purposes you can use the array name exactly as though it were + a pointer to your data. +<P> +<BR> + +<H2> Size of the Array </H2> + + To find the length of a local array, use size(): +<PRE> + int n = size(integers); +</PRE> +<P> +<BR> + + +<IMG ALIGN="bottom" SRC="../images/rbline6j.gif" ALT="----------------------" + WIDTH=1010 HEIGHT=2 > +<P> +<IMG ALIGN="right" SRC="../images/pslrb6d.gif" ALT="Parsifal Software" + WIDTH=181 HEIGHT=25> +<BR CLEAR="right"> + +<P> +Back to : +<A HREF="../index.html">Index</A> | +<A HREF="index.html">Class libraries for examples</A> +<P> + +<ADDRESS><FONT SIZE="-1"> + AnaGram parser generator - examples<BR> + Array Storage Class Definition<BR> + Copyright © 1993-1999, Parsifal Software. <BR> + All Rights Reserved.<BR> +</FONT></ADDRESS> + +</BODY> +</HTML> +