ptypes

ptypes Mercurial Source Tree


Root/doc/string.constructors.html

<html><!-- #BeginTemplate "/Templates/tmpl.dwt" --><!-- DW6 -->
<head>
<!-- #BeginEditable "doctitle" -->
<title>PTypes: string: constructors/destructors</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="styles.css">
</head>
<body bgcolor="#FFFFFF" leftmargin="40" marginwidth="40">
<p><a href="../index.html"><img src="title-21.png" width="253" height="39" alt="C++ Portable Types Library (PTypes) Version 2.1" border="0"></a>
<hr size="1" noshade>
<!-- #BeginEditable "body" -->
<p class="hpath"><a href="index.html">Top</a>: <a href="basic.html">Basic types</a>:
<a href="string.html">string</a>: Constructors/destructors</p>
<blockquote>
<pre class="lang">#include <ptypes.h>
 
class string {
    string();
    string(const string&);
    string(char);
    string(const char*);
    string(const char*, int);
    ~string();
}
</pre>
</blockquote>
<p>A string object can be constructed in 5 different ways:</p>
<ul>
<li>
<p> default constructor <span class="lang">string()</span> creates an empty string.</p>
</li>
<li>
<p>copy constructor <span class="lang">string(const string& s)</span> creates
a copy of the given string <span class="lang">s</span>. Actually this constructor
only increments the reference count by 1 and no memory allocation takes place.</p>
</li>
<li>
<p><span class="def">string(char c)</span> constructs a new string consisting
of one character <span class="lang">c</span>.</p>
</li>
<li>
<p><span class="def">string(const char* s)</span> constructs a new string object
from a null-terminated string. If <span class="lang">s</span> is either <span class="lang">NULL</span>
or is a pointer to a null character, an empty string object is created. This constructor
can be used to assign a string literal to a string object (see examples below).</p>
</li>
<li>
<p><span class="def">string(const char* s, int len)</span> copies <span class="lang">len</span>
bytes of data from buffer <span class="lang">s</span> to the newly allocated string
buffer.</p>
</li>
</ul>
<p>Destructor <span class="lang">~string()</span> decrements the reference count
for the given string buffer and removes it from the dynamic memory if necessary.</p>
<p><b>Examples:</b></p>
<blockquote>
<pre>string s1;             <span class="comment">// empty string</span>
string s2 = s1;        <span class="comment">// copy</span>
string s3 = 'A';       <span class="comment">// single character</span>
string s4 = "ABCabc";  <span class="comment">// string literal</span>
char* p = "ABCabc";
string s5 = p;         <span class="comment">// null-terminated string</span>
string s6(p, 3);       <span class="comment">// buffer/length</span>
</pre>
</blockquote>
<p class="seealso">See also: <a href="string.operators.html">Operators</a>, <a href="string.typecasts.html">Typecasts</a>,
<a href="string.manipulation.html">Manipulation</a>, <a href="string.conversion.html">Conversion</a></p>
<!-- #EndEditable -->
<hr size="1">
<a href="../index.html" class="ns">PTypes home</a>
</body>
<!-- #EndTemplate --></html>
Source at commit 209d6fa3805c created 11 years 11 months ago.
By Nathan Adams, Updating tparray to use variants as array because tpodlist was causing variant data corruption

Archive Download this file

Branches

Tags

Page rendered in 1.65588s using 11 queries.