A depiction of god yelling in the phone saying “I told you to stop that shit right now before reality starts flaking at the edges again

“If you don't stop using 'auto' and 'constexpr' right now I swear imma come down there and whoop your brain so hard you'll be snorting lines outta your IDE”
you are viewing a single comment's thread
view the rest of the comments
[–] 1 point 1 year ago* (1 child)

Similarly, what would you gain by saying uint32_t const* x = my_var.get<uint32_t>();

To be frank: You gain the information that MyConcreteType::get<uint32_t> returns a uint32_t, which I otherwise couldn't infer from the docs. Of course, I could assume it, based on the template parameter, but I don't want to go around assuming a bunch of stuff in order to read docs.

Take an example like auto x = my_var.to_reduced_form(), it's very clear that x is the "reduced form" of my_var, which could be meaningful in itself, but what type is it? I need to know that if I want to do anything with x. Can I do x += 1? If I do, will that modify my_var? Let's say I want to make a vector of whatever to_reduced_form returns... and so on.

All these questions are very easily answered by MyConcreteType x = my_var.to_reduced_form(). Now I immediately know that everything I can do with my_var, I can also do with x. This makes me happy, because I need to do less digging, and the code becomes clearer to read.

  • source
  • parent
  • hideshow 1 child comment