Outline19.1 Getting started with C++
19.1.1 No inputs, scalar output19.1.2 Scalar input, scalar output19.1.3 Vector input, scalar output19.1.4 Vector input, vector output19.1.5 Matrix input, vector output19.1.6 Using sourceCpp19.1.7 Exercises19.2 Attributes and other classes
19.2.1 Lists and data frames19.2.2 Functions19.2.3 Other types19.3 Missing values
19.3.1 Scalars
19.3.1.1 Integers19.3.1.2 Doubles19.3.2 Strings19.3.3 Boolean19.3.4 Vectors19.3.5 Exercises19.4 Rcpp sugar
19.4.1 Arithmetic and logical operators19.4.2 Logical summary functions19.4.3 Vector views19.4.4 Other useful functions19.5 The STL
19.5.1 Using iterators19.5.2 Algorithms19.5.3 Data structures19.5.4 Vectors19.5.5 Sets19.5.6 Map19.5.7 Exercises19.6 Case studies
19.6.1 Gibbs sampler19.6.2 R vectorisation vs. C++ vectorisation19.7 Using Rcpp in a package19.8 Learning more19.9 Acknowledgments