У меня есть задание из моего класса программирования, которое очень плохо сформулировано ... Следующая строка действительно ставит меня в тупик. Мы создаем класс с именем FloatArray, который содержит массив (arr
, который является просто указателем на группу floats
).
Конструктор по умолчанию FloatArray (); должен создать массив нулевой ширины и нулевой высоты.
Понятия не имею, что под этим подразумевает мой профессор ... Кто-нибудь еще? Мы должны предоставить другой конструктор, который указывает высоту и ширину массива. Это прекрасно и просто - просто вставьте цифры и выделите их ... Но что он имеет в виду под "создать массив нулевой ширины и нулевой высоты"?
Просто, чтобы вы знали, массив просто определяется как:
float *arr;
Помоги мне понять это безумие! Если бы это зависело от меня, я бы даже не сделал пустой конструктор для такого класса ...
Независимо - я что-то пропускаю здесь? Это какая-то терминология, с которой я никогда не сталкивался раньше, или я правильно сказал, что это безумие?
Должен ли я просто сделать следующее в конструкторе по умолчанию?
*arr = 0;
Поскольку я не могу сделать arr = new float[0]
, теперь я могу: P ( Или, может быть, я могу - я просто попробовал (спасибо Томасу!), И он компилируется и запускается ...!? )
Означает ли это, что когда я делаю arr = new float[0]
, arr
указывает на какое-то место (начало?) В куче?
Я знаю, что этот вопрос кажется довольно расплывчатым, но таково все задание - очень плохо сформулировано. Я просто хочу убедиться, что это не только я!