我现在多次重新阅读有关编写 R 扩展的垃圾收集的内容,但仍然不明白这两种用法之间的区别:
SEXP var = PROTECT(allocVector(STRSXP, 100));
对比
SEXP var;
PROTECT(var = allocVector(STRSXP, 100));
到目前为止,我在第一个方面的运气更差,因为我的会话有时会崩溃(但我在真实代码和介绍指南本身中都看到了很多用法)。有人可以解释这两个任务之间的区别吗?
编辑:
经过一些实验后,我想我得出的结论是,上述两者之间没有区别,而且我看到的碰撞行为的任何差异都是偶然的,但希望得到更有经验的人的确认。