On 19 June 2010 at 20:32, Douglas Bates wrote: | I want to return a named list of results from a call using Rcpp but | the components of the list are accumulated in stages. At the C++ | level i have a templated class that contains several data members that | are themselves instances of classes. | | What I have been doing is defining methods for each of the subclasses | that update the list and return it. The signatures look like | | Rcpp::List updateList(Rcpp::List&) | | This particular signature reflects my R background where I would might | write something like | | ans <- updateList(comp3, updateList(comp2, updateList(comp1, list())) | | However, it occurs to me that it might be unnecessary to return the | list in C++ because I am passing a reference to the list so updates | will change the original argument. | | Is this a good idea and does it work as long as I pass by reference? | (I'm still a little vague on the distinction between passing a | reference and passing a classed object.)
Why not? I guess the real answer may be found via profiling, Most uses I have made of this involved fixed sizes. But there are push_back method so one could grow lists dynamically which I haven't tried. Another option would be to have lists of lists which I haven't tried yet either. -- Regards, Dirk _______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
