Размещение объекта в динамической памяти в среде языка С++

Страницы работы

Содержание работы

1. Размещение в ДП и работа со скалярным объектом с предопределенным типом.

/*

   Пример работы со стандартным скалярным объектом, размещаемым в динамической памяти. Среда языка С++

*/

#include <stdio.h>       // Для функций ввода-вывода

#include <stdlib.h>      // Дляфункции exit

...

// РазмещениевДП

double         *pd = new double;

if( !pd )                // Обработка результата размещения

{

    printf( "\n Размещение в динамической памяти "

            "не выполнено " );

exit( 1 );

}

// Работа

*pd = 2.5; ...           // Присваивание значения

// Вывод значения на экран

printf( "\n Значение объекта: %lg", *pd );

// Освобождение ДП

if( pd )

{

    delete pd; pd = NULL;

}

...

2. Размещение в ДП и работа с массивом предопределенного типа.

/*

   Пример работы с массивом предопределенного типа, размещаемым в динамической памяти. Среда языка С++

*/

#include <stdio.h>       // Для функций ввода-вывода

#include <stdlib.h>      // Дляфункции exit

...

// РазмещениевДП

double         *pdarr = new double [ 4 ];

if( !pdarr )                // Обработка результата размещения

{

    printf( "\n Размещение в динамической памяти "

            "не выполнено " );

exit( 1 );

}

// Работа

pdarr[ 0 ] = 2.5; ...    // Присваивание значения 1 элементу

// Вывод значения этого элемента на экран

printf( "\n Значение pdarr[ 0 ]: %lg", pdarr[ 0 ] );

// Освобождение ДП

if( pdarr )

{

    delete [] pdarr; pdarr = NULL;

}

...

3. Размещение в ДП и работа с массивом пользовательского типа.

/*

   Пример работы с массивом пользовательского типа, размещаемым в динамической памяти. Среда языка С++

*/

#include <stdio.h>       // Для функций ввода-вывода

#include <stdlib.h>      // Дляфункции exit

...

structRECT

{

doubles1;       // Длина стороны 1

doubles2;       // Длина стороны 2

};

// Размещение в ДП

RECT           *parr = new RECT [ 4 ];

if( !parr )              // Обработка результата размещения

{

    printf( "\n Размещение в динамической памяти "

            "не выполнено " );

exit( 1 );

}

// Работа

parr[ 0 ].s1 = 2.5; ...  // Присваивание значения 1 элементу

// Вывод значения этого элемента на экран

printf( "\n Значение parr[ 0 ].s1: %lg", pdarr[ 0 ].s1 );

// Освобождение ДП

if( parr )

{

    delete [] parr; parr = NULL;

}

...

Похожие материалы

Информация о работе