私は主にC++のバックグラウンドを持っています。作業中のSystemVerilogコードのバグを追跡していましたが、オブジェクトコピーの割り当てが実際には参照の割り当てであると思っていたのに驚いていました。この簡略化されたコードは、私が何を意味するかを示しています。
for (int i = 0; i < max_num; ++i)
{
var cls_obj obj1;
obj1 = obj_array[i];
some_function(obj1); // modifies the object passed in
// at this point BOTH obj1 and obj_array[i] are modified.
// some other code goes here
}
変更されるだけだと思っていobj1
ました。これはvarキーワードによるものですか?SystemVerilogでは、コピー割り当てと参照割り当てはどの程度正確に機能しますか?Web検索から情報を見つけるのに苦労しています。