我正在学习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附加到所有内容上。