Я перечитал бит о сборке мусора в письме R расширений несколько раз и до сих пор не понимаю разницы между этими двумя обычаями:
SEXP var = PROTECT(allocVector(STRSXP, 100));
против
SEXP var;
PROTECT(var = allocVector(STRSXP, 100));
До сих пор у меня была худшая удача с первой, так как мой сеанс иногда с ней сработал (но я вижу, что это много используется как в реальном коде, так и в самом руководстве по интро). Может ли кто-нибудь объяснить разницу между этими двумя назначениями?
изменить
После некоторых экспериментов я думаю, что я прихожу к выводу, что нет разницы между двумя вышеупомянутыми и любой разницей в поломке, которое я вижу, является случайным, но будет признателен за подтверждение от кого-то более опытного.