如何在运行时而不是在编译时实例化泛型。示例不使用new。
答案 0 :(得分:2)
如果不使用new
,则无法执行此操作。您可以在任何声明性部分中执行此操作,但该泛型将仅在该声明部分的范围内存在。
(未编译的类似ada的伪代码):
get(length)
declare
package stack is new stack_generic (max_stack_size => length);
begin
stack.push();
...
end;
-- stack package no longer in scope.
这有帮助吗?