Читайте также:
|
|
Операция new предназначена для выделения требуемого количества памяти в системе. Она возвращает указатель на выделенный участок памяти. Используется для создания переменных и структур данных в течение исполнения программы.
Мы не можем ждать, пока программа запустится и определит размер массива. Следующий подход работать не будет:
cin >> size; // получим желаемый размер массива
int arr [ size ]; // ошибка, размер массива должен быть константой!
Однако, мы можем сделать так:
ptr = new int [size];
Операция delete освобождает память, выделенную с использованием операции new. Квадратные скобки, следующие за операцией delete, означают, что мы освобождаем массив. При освобождении памяти, выделенной для одиночного объекта, использования скобок не требуется.
ptr = new SomeClass; // создаем один объект
delete ptr; // скобок не требуется
Однако при освобождении памяти, занимаемой массивом, скобки обязательны. Их использование подразумевает, что мы освобождаем память, используемую для всех членов массива, одновременно.
delete [ ] ptr;
Когда вы вызываете какой-либо метод, значением указателя this становится адрес объекта, для которого этот метод вызван. Его можно использовать для получения доступа к данным объекта. Рассмотрим пример:
class what
{
private:
int alpha;
public:
void tester()
{
this->alpha = 11; //то же,что alpha = 11;
cout << this->alpha; //то же, что cout << alpha;
}
};
Следует отметить, что указатель this нельзя использовать в статических методах, так как они не ассоциированы с конкретным объектом.
Дата добавления: 2015-08-17; просмотров: 68 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Указатели. Инициализация. Арифметические операции. | | | Виртуальные функции. |