во многих турзаменах первые примеры кода о динамической памяти начинаются по строкам:
int * pointer;
pointer = new int; // version 1
//OR
pointer = new int [20] // version 2
они всегда начинают объяснять, как работает вторая версия, но полностью избегайте говорить о первой версии.
что я хочу знать, что создает pointer = new int
? что я могу с этим сделать? что это значит? В каждом учебном пособии обязательно расскажу о первой версии полностью. Все, что я узнал (через messing about), следующее:
#include <iostream>
using namespace std;
int main()
{
int * pointer;
pointer = new int;
pointer[2] = 1932; // pointer [2] exists? and i can assign to it?!
cout << pointer[2] << endl; // ... and access it succesfuly?!
};
Тот факт, что я могу индексировать pointer
, говорит мне до сих пор, что я pointer = new int
неявно создает массив. но если да, то какой размер?
Если бы кто-то помог мне все это очистить, я был бы великолепен...