База ответов ИНТУИТ

Язык программирования C++

<<- Назад к вопросам

Что выполняет операция "delete [] v;" в данном ниже коде:
	class MyClass {    int sz; // число элементов    int * v; // указатель на целые   public:     MyClass ( int );     ~MyClass ();      int&operator [] ( int index ); // операция индексации };…MyClass::~ MyClass() {   delete [] v; }	

(Отметьте один правильный вариант ответа.)

Варианты ответа
удаляет последний элемент из массива "v"
удаляет указатель на массив "v" из памяти
удаляет весь массив "v", освобождая память(Верный ответ)
удаляет первый элемент из массива "v"
Похожие вопросы
Если в классе операция delete переопределена как
void operator delete(int x, void* addr)
то при вызове
A* ptr; . . . delete(10, ptr);
Если в классе определяется операция delete, то
Если в классе операция new переопределена как
void* operator new(size_t size, int a);
то какой вызов этой операции правильный?
Если в конструкторе класса
class  A { public:    A() { ptr = new char[size];         Init(); }    ~A() { if (ptr) delete[] ptr; }    char* ptr; };
произойдет исключительная ситуация, будет ли потеряна память при откате по стеку?
Если определена операция умножения для двух объектов класса A и операция преобразования к int, что будет вызвано при
A a;  int x;  int y = a * x;
Если определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена, что будет вызвано при
A a1,a2,a3=5;a3 = a1 – a2;
Какой будет результат у данного выражения?
	int *i = new int;	...	i = new int;	...	delete i;	
Если в классе A определены методы
A(int x);operator int();operator++(int);
то какие из них будут вызваны в следующем выражении ?
A b; static_cast <int> (b + 1);
Что произойдёт при использовании неправильного адреса в операции delete?
Какой будет результат у данного выражения?
	long *L = new long;	*L = 4;	delete L;	cout << *L;