Understanding Automatic or Automatic Lifetime of Class objects - SV

In reply to cgales:

function cip_slave_e cip_cfg::get_id (string name);
cip_slave_e cip_id;

    case(name)
       "if_apu_s": cip_id = CIP_AXI;
        ...
        ..
    endcase

return(cip_id);
endfunction

Above code there is no object of cip_slave_e being created and being passed to cip_id is this valid ?

Any examples of when to pass objects as arguments to functions and when to pass handles