Aan de slagGa gratis aan de slag

Eenvoudige C++-expressies met evalCpp

In tegenstelling tot R heb je in C++ geen console om iteraties van je code uit te proberen.

Om rustig in C++ te stappen, biedt Rcpp de functie evalCpp() aan. Die neemt een eenvoudige C++-expressie als string, compileert die tot een echte C++-functie en roept die functie aan.

Dit wordt vaak gebruikt om te controleren of een machine correct is geconfigureerd om met Rcpp te werken.

Deze oefening maakt deel uit van de cursus

R-code optimaliseren met Rcpp

Cursus bekijken

Oefeninstructies

  • Laad het pakket Rcpp.
  • Evalueer 2 + 2 als een C++-expressie met evalCpp() en ook als een R-expressie.
  • Wat zijn de opslagmodi van x en y?
  • Pas de C++-expressie 2 + 2 zo aan dat die een double teruggeeft en ken die toe aan z.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Load Rcpp
___

# Evaluate 2 + 2 in C++
x <- evalCpp(___)

# Evaluate 2 + 2 in R
y <- ___

# Storage modes of x and y
___
___

# Change the C++ expression so that it returns a double
z <- evalCpp("2 + 2")
Code bewerken en uitvoeren