エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rcpp: 引数は参照渡しかコピー渡しか - Qiita
R言語では、関数の引数は原則すべて値渡し。なので、関数を呼ぶたびに変数のコピーが作られている。 C++... R言語では、関数の引数は原則すべて値渡し。なので、関数を呼ぶたびに変数のコピーが作られている。 C++でも原則は値渡しで、参照渡しにするには"&"をつけて指定する。 とすればRcppで関数を作った場合もそうか思っていたが、違った。 IntegerVector NumericMatrixなど、Rcppで定義されたクラスの変数は参照渡しになる ただし、変数の型変換が必要なケース、たとえば、IntegerVectorで定義されている引数に実数ベクトルを与えると、参照が崩れて値渡しになる Rユーザーは普段、実数と整数を意識していないことも多いので場合によっては想定外の挙動をする可能性がある。ご注意あれ。 例 与えられた引数の第1要素を2に変更するという関数をRcppを用いて定義している。引数が値渡しであればこの結果は関数の呼び出し元には影響せず、参照渡しであればもとの変数も変更される。 比較のため
2024/06/10 リンク