mirror of
https://github.com/RGBCube/serenity
synced 2025-05-23 09:05:07 +00:00
AK: Add a comment to String about the relationship with StringImpl.
This commit is contained in:
parent
93d3d1ede1
commit
e24f18dd83
1 changed files with 20 additions and 0 deletions
|
@ -10,6 +10,26 @@
|
||||||
|
|
||||||
namespace AK {
|
namespace AK {
|
||||||
|
|
||||||
|
// String is a convenience wrapper around StringImpl, suitable for passing
|
||||||
|
// around as a value type. It's basically the same as passing around a
|
||||||
|
// RetainPtr<StringImpl>, with a bit of syntactic sugar.
|
||||||
|
//
|
||||||
|
// Note that StringImpl is an immutable object that cannot shrink or grow.
|
||||||
|
// Its allocation size is snugly tailored to the specific string it contains.
|
||||||
|
// Copying a String is very efficient, since the internal StringImpl is
|
||||||
|
// retainable and so copying only requires modifying the retain count.
|
||||||
|
//
|
||||||
|
// There are three main ways to construct a new String:
|
||||||
|
//
|
||||||
|
// s = String("some literal");
|
||||||
|
//
|
||||||
|
// s = String::format("%d little piggies", m_piggies);
|
||||||
|
//
|
||||||
|
// StringBuilder builder;
|
||||||
|
// builder.append("abc");
|
||||||
|
// builder.append("123");
|
||||||
|
// s = builder.to_string();
|
||||||
|
|
||||||
class String {
|
class String {
|
||||||
public:
|
public:
|
||||||
~String() {}
|
~String() {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue