gpt4 book ai didi

c++ - .cpp 和 .R 文件的常量

转载 作者:搜寻专家 更新时间:2023-10-31 01:40:59 24 4
gpt4 key购买 nike

我正在构建一个 R 包并有一个我想要声明的常量,wjtConstant。我希望我为包创建的 R 函数和 .cpp 函数都可以访问此常量

对于 R 函数,我可以用一行创建一个 .R 文件:wjtConstant = 5并将此文件放在“R”文件夹中进行包开发。

对于 cpp 函数,我可以将以下行放在位于“inst/include”文件夹内的头文件中:const int wjtConstant = 5;

我可以在两个地方声明常量并且结果按预期工作(即常量可以被 R 和 cpp 函数使用),但这感觉很草率。有什么方法可以一次性声明常量,并让 R 函数和 cpp 函数都可以访问它?

最佳答案

您可以在 R 中使用主动绑定(bind)来调用 C++ 函数。像这样:

#include <Rcpp.h>
using namespace Rcpp ;

const int wjtConstant = 5;

// [[Rcpp::export]]
int get_wjtConstant(){ return wjtConstant ; }

在 R 中:

> makeActiveBinding("wjtConstant", get_wjtConstant, environment() )
> wjtConstant
[1] 5

这样您就可以在 R 和 C++ 中直接使用 wjtConstant

关于c++ - .cpp 和 .R 文件的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28951090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com