R拡張機能を書く際のガベージコレクションに関するビットを何度も読み直しましたが、これら2つの使用法の違いをまだ理解していません。
SEXP var = PROTECT(allocVector(STRSXP, 100));
対
SEXP var;
PROTECT(var = allocVector(STRSXP, 100));
これまでのところ、セッションが時々クラッシュするため、最初のものは不運でした (実際のコードとイントロ ガイド自体の両方で、その使用法がよく見られます)。誰かがこれら2つの割り当ての違いを説明できますか?
編集:
いくつかの実験の後、上記の 2 つの間に違いはなく、私が目にするクラッシュ動作の違いは偶然であるという結論に達していると思いますが、より経験豊富な人からの確認をいただければ幸いです。