在R中使用std命名空间而不是RCPP

时间:2019-06-15 18:00:41

标签: c++ r rcpp

我正在学习C ++,并计划几乎完全与R一起实现它。不过,我有点厌倦了将名称空间“ std”附加到大量代码中。是否有一种方法可以对大多数代码使用std命名空间,并将其仅用于编译和源代码切换到Rcpp?

下面是带有命名空间Rcpp的C ++“ Hello World”函数。这是一个简单的例子,但提出了问题。 “字符串”不是Rcpp中的类,因此我必须在其后附加std ::。同样,我知道这是一个简单的例子,但我只想知道是否有可能。

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
std::string hello(std::string x) {
  return x;
}


/*** R
hello("Hello World")
*/

输出按预期工作,但是我很想让代码看起来像这样:

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]

using namespace std;

string hello(string x) {
  return x;
}


using namespace Rcpp;

/*** R
hello("Hello World")
  */

这样,随着大量代码的扩展,我不必将std附加到所有内容上。

0 个答案:

没有答案