[Rcpp-devel] Function speed - assignment versus pointer passing?
romain at r-enthusiasts.com
romain at r-enthusiasts.com
Wed Sep 1 15:57:36 CEST 2010
Hi,
You should avoid pointers unless you are forced to use them, eg by another api you dont control.
C++ has references and these are much safer and nicer to use. Pointers are dangerous.
Also, when you write functions that modify a reference (or a pointer) you can always ask yourself if this could/should be a member function of the class rather than a free function.
Romain
Le 1 sept. 2010 à 09:46, Christian Gunning <xian at unm.edu> a écrit :
> Is there a good rule of thumb for when to write a function that
> returns an object (to be assigned to a variable) versus passing the
> object pointer to the function to be modified in place?
>
> I'm more familiar with R's function programming style, which i've seen
> in Rcpp documents and list examples:
>
> //1
> b = fx(a);
>
> whereas traditional C forbids returning vectors and enforces modify-in-place:
>
> //2
> fx(a, &b);
>
> Is there compiler magic that makes these two cases equivalent, or
> should 2 to be preferred for heavy lifting?
>
> thanks,
> Christian Gunning
> University of New Mexico
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
More information about the Rcpp-devel
mailing list