Как сказанный Обжимный пресс, Вы не можете освободить его; код, вызывающий функцию, которая возвращает объект, ответственен за уничтожение его.
Это - плохой дизайн кода, между прочим, поскольку он делает его путающий относительно того, кто выделяет и освобождает. Намного лучший способ сделать это состоял бы в том, чтобы сделать, чтобы вызывающая сторона создала объект и передала его в функции. Тем путем код, который создает его также, освобождает его. Что-то вроде этого:
var
SL: TStringList;
begin
SL := TStringList.Create;
try
ProcToFillStringList(SL);
//Do something with populated list
finally
SL.Free;
end;
end;
// Note I've made the parameter a TStrings and not a TStringList. This allows
// passing a TMemo.Lines or a TListBox or TComboBox Items as well.
procedure ProcToFillStringList(const SList: TStrings);
// Do whatever populates the list with SList.Add()
end;
Теперь нет никакого беспорядка по тому, кто делает то, что - тот же код, который создает объект, ответственен за освобождение его. И код, IMO, является намного более четким считать и поддержать.
I есть целое число, которое я устанавливаю отдельные биты для и я хочу распечатать эквивалент IEEE754 с плавающей запятой одинарной точности.
Используйте для этого intBitsToFloat () .
Java не предоставляет никакого способа обрабатывать значение как другое значение на уровне необработанных битов - никаких объединений, ничего вроде reinterpret_cast
. Однако для вашего конкретного случая обработки float
как int
и наоборот, вы можете использовать java.lang.Float.floatToIntBits
и intBitsToFloat
] методы.
Если вас интересует доступ к представлению числа с плавающей запятой на битовом уровне, java.lang.Double содержит метод для этого (doubleToLongBits и т. Д.)
Объединение между типами указателей ( или между указателями и их числовым представлением) открыли бы дыры в системе типов, поэтому это строго невозможно.
Заменители отсутствующих конструкций C
Разработчики программирования на Java язык решил опустить союз построить, потому что есть много лучший механизм для определения единственного тип данных, способный представлять объекты различных типов: подтипы. А размеченный союз на самом деле просто бледная имитация иерархии классов.
Включает примеры.
Некоторые полезные статьи и ответы на вопросы по этой теме: