Ich möchte einen Verweis auf ein Array/Warteschlange in einer Klasse speichern. Es scheint jedoch nicht möglich zu sein, dies zu tun.Store Verweis auf Array/Warteschlange in SystemVerilog
Ich möchte so etwas wie dies zu tun:
class some_class;
// class member that points to the 'q' supplied as a constructor arg
??? q_ref;
function new(ref int q[$]);
this.q_ref = q;
endfunction
endclass
Wenn q_ref
nur als int q_ref[$]
definiert ist, dann wird der Zuweisungsoperator eine Kopie erstellen, die nicht das, was ich will. Ich möchte, dass Änderungen in 'q' in der Klasse sichtbar sind.
Gibt es einen versteckten Abschnitt in der LRM, der zeigt, wie dies getan werden kann?
Ich bin nicht auf der Suche nach dem offensichtlichen "Sie müssen das Array/Warteschlange in einer Klasse Antwort wickeln", aber für etwas, das mich mit Code, der native Arrays/Warteschlangen verwendet interagiert.
Sie können eine Klasse erstellen, die ein Array enthält, und dann einen Verweis auf diese Klasse speichern. – Serge
@Serge Nicht was ich will. Ich möchte eine reguläre Warteschlangenvariable haben und sie in eine andere Klasse einbinden können. Das Klassenobjekt sollte Änderungen an der Warteschlange sehen. Änderungen innerhalb des Objekts sollten sich auch in der Warteschlange fortpflanzen. –
hast du ein beispiel? – Serge