Войти
Nebula CommunityСтатьи

Разбор кода Nebula Device2. Часть1. Класс строки (статья 3 - конструкторы, копирование, конкатенация)

Автор:

Операции конструирования, копирования и конкатенации объектов класса nString


Метод Set класса nString нещадно эксплуатируется другими методами копирования и конструирования строк этого класса, выступая неким кирпичиком для построения этих методов. В этой статье и рассмотрим часть из них.

Конструторы

Для того, чтобы сразу задать какое-то строковое значение объекту класса nString, можно использовать конструктор, принимающий строку C:

nString (const char* str);

Есть также конструктор копирования, который создает копию объекта класса nString из уже существующего:

nString (const nString& rhs);

Присваивание

Можно присваивать строки в стиле C через оператор присваивания:

nString& operator=(const char* rhs);

а также другие объекты класса nString:

nString& operator=(const nString& rhs);

Пример:

+ Показать

Конкатенация

Для добавления текста в конец строки существующего объекта класса nString можно использовать как явные операции класса:

// добавляет (копируя) numChars символов в конец строки объекта nString
void AppendRange(const char* str, uint numChars); 

// добавляет (копируя) C-строку в конец строки объекта nString
void Append(const char* str); 

// добавляет (копируя) строку из другого объекта класса nString в конец строки, размещенной в объекте nString
void Append(const nString& str);

так и операторы сложения с последующим присваиванием "+=":

nString& operator+=(const char* rhs);
nString& operator+=(const nString& rhs);

которые по сути являются удобными обертками над Append... методами.

Пример:

+ Показать

Как собрать проект в MSVC2008 EE описано здесь.

#Nebula2, #строковые операции

22 февраля 2016