summaryrefslogtreecommitdiff
path: root/reference/CPLUSPLUS/SYNTAX/new.html
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2008-01-27 11:37:44 +0100
committerTobias Klauser <tklauser@xenon.tklauser.home>2008-01-27 11:37:44 +0100
commit7e0f021a9aec35fd8e6725e87e3313b101d26f5e (patch)
treeb1cacc4b24393f517aeb4610e9e1021f954307a8 /reference/CPLUSPLUS/SYNTAX/new.html
Initial import (2.0.2-6)2.0.2-6
Diffstat (limited to 'reference/CPLUSPLUS/SYNTAX/new.html')
-rw-r--r--reference/CPLUSPLUS/SYNTAX/new.html125
1 files changed, 125 insertions, 0 deletions
diff --git a/reference/CPLUSPLUS/SYNTAX/new.html b/reference/CPLUSPLUS/SYNTAX/new.html
new file mode 100644
index 0000000..bd077fd
--- /dev/null
+++ b/reference/CPLUSPLUS/SYNTAX/new.html
@@ -0,0 +1,125 @@
+<title>NEW operator</title>
+<!-- Changed by: Martin Leslie, 14-Mar-1996 -->
+<body bgcolor="#dddddd">
+<font color=brown>
+<hr>
+<center><h1>NEW operator.</h1></center>
+<hr>
+<p>
+The <b>new</b> operator replaces the
+<a href="../../C/FUNCTIONS/malloc.html">malloc</a>
+function provided in C to reserve storage taken from the heap.
+<p>
+The <b>new</b> operator requires one operand that describes the
+type of data to be stored in the memory. Here are some examples.
+<p>
+<center>
+<table bgcolor=ivory width="80%" border=1>
+<tr>
+<td>
+<pre>
+
+ int *ptr1; // Declare a pointer to int.
+ ptr1 = new int; // Reserve storage and point to it.
+
+ float *ptr2 = new float; // Do it all in one statement.
+
+ delete ptr1; // Free the storage.
+ delete ptr2;
+
+ struct House // Declare a complex structure.
+ {
+ int Floors;
+ int Windows;
+ };
+
+ House *ptr3 = new House; // Reserve storage and point to it.
+
+ delete ptr3;
+</pre>
+</td>
+</tr>
+</table>
+</center>
+<p>
+
+Blocks or arrays of storage can also be reserved as show in the
+next example.
+
+<p>
+<center>
+<table bgcolor=ivory width="80%" border=1>
+<tr>
+<td>
+<pre>
+
+ char *ptr
+ ptr = new char[80];
+
+ delete [] ptr; // Free the storage.
+</pre>
+</td>
+</tr>
+</table>
+</center>
+<p>
+
+
+
+Although <b>new</b> and
+<a href="../../C/FUNCTIONS/malloc.html">malloc</a>
+can be intermixed in the same code, it is probably best
+to continue using
+<a href="../../C/FUNCTIONS/malloc.html">malloc</a>
+in existing code and <b>new</b> in new code. This is because
+you can not use
+<a href="delete.html">delete</a> with storage thats been
+reserved with malloc and visa versa. If you keep to one
+method or the other you are less likely to make a mistake.
+<p>
+<hr>
+<h2>Examples:</h2>
+<img src="../../GRAPHICS/computer.gif">
+<a href="../EXAMPLES/new.cc">Example program.</a>
+<hr>
+<h2>See Also:</h2>
+<img src="../../GRAPHICS/whiteball.gif">
+<a href="delete.html">delete</a> keyword.
+
+</font>
+<hr>
+<font color=black>
+<h2>C References</h2>
+<p>
+<img src="../../GRAPHICS/whiteball.gif">
+<a href="../../C/FUNCTIONS/malloc.html">malloc</a> function.
+
+<p>
+<img src="../../GRAPHICS/whiteball.gif">
+<a href="../../C/FUNCTIONS/free.html">free</a> function.
+</font>
+
+<hr>
+<p>
+<center>
+<table border=2 width="80%" bgcolor="ivory">
+<tr align=center>
+<td width="25%">
+<a href="../cref.html">Top</a>
+</td><td width="25%">
+<a href="../../C/master_index.html">Master Index</a>
+</td><td width="25%">
+<a href="keywords.html">C++ Keywords</a>
+</td><td width="25%">
+<a href="../../C/FUNCTIONS/funcref.htm">Functions</a>
+</td>
+</tr>
+</table>
+</center>
+<p>
+<hr>
+<font color=brown>
+<address>Martin Leslie
+17-Feb-96</address><p>
+</font>
+