Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | < 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 8edbcdac0d39 created 11 years 11 months ago. By Nathan Adams, initial commit |
---|