Le 24/03/10 21:26, Douglas Bates a écrit : > > On Wed, Mar 24, 2010 at 2:47 PM, Dirk Eddelbuettel<[email protected]> wrote: >> >> On 24 March 2010 at 13:31, Douglas Bates wrote: >> | I find myself writing code like >> | >> | Rcpp::NumericVector mu(arg); >> | Rcpp::NumericVector eta(mu.size()); >> | ... >> | >> | because I need to ensure that mu is constructed from the argument SEXP >> | before its size can be used to construct eta. Is the order of >> | initializations compiler-dependent or defined by the standard? If >> | defined by the standard I could write >> | >> | Rcpp::NumericVector mu(arg), eta(mu.size()); >> | >> | and expect it to work as intended. Does anyone know if I can count on >> | left-to-right ordering of initializations? >> >> Interesting question, and I can't offer more than a firm 'not sure'. You >> could for now put some of our conditional logging in the constructor as some >> other classes (that take a string as well and then print that string, say) so >> that you could at least test with the compiler you happen to using today. >> >> Strictly personally speaking I quite like >> >> Rcpp::NumericVector mu(arg); >> Rcpp::NumericVector eta(mu.size()); >> >> as it gives me ample space to the right comment. > > Agreed. However I have been trained by Martin Maechler never to use > cut-and-paste when programming (Knuth's "root of all evil" is > premature optimization and Martin's is cut-and-paste) so I feel like a > sinner every time I duplicate a line then change the identifier.
I think , is left to right. We actually use this when we do: IntegerVector x(3) ; x = 1,2,3; see maybe this : http://www.cppreference.com/wiki/operator_precedence I'm not sure I'd want to trust this though. Romain -- Romain Francois Professional R Enthusiast +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr |- http://tr.im/OIXN : raster images and RImageJ |- http://tr.im/OcQe : Rcpp 0.7.7 `- http://tr.im/O1wO : highlight 0.1-5 _______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
