I use Appender to fill an array. The Appender is a class variable
and is not instantiated with each function call to save
instantiation. However, the return value or the function must be
dup'ed, like so:
Appender!(MyType[]) append;
public auto doSomething() {
scope (exit) { // clear append }
// ... do something
append ~= item;
return (append.data).dup
}
My question is whether I save anything with Appender as a class
variable here. I have to .dup the return value (+ clear the
Appender). If I had a new Appender with each function call, it
might be just as good.
public auto doSomething() {
Appender!(MyType[]) append;
// ....
return append.data.
}
Right or wrong?