C++ is a funny language
-
It's usually not a matter of "can I do something?" (the answer is almost always yes, but you won't like the details), rather "how the hell do I accomplish this?" I'm currently running into one such issue trying to avoid template creep, and I thought I had it, but no. I missed a detail. Which I think I just solved while typing this. Edit: maybe. hmmm. Such is the nature of this language. It's a giant puzzlebox. With C#, as often as not it's a matter of learning APIs. With C++ it's usually a matter of learning to cajole the compiler to bend your source code the way you want it to. It's uniquely challenging, not because of pointers or the usual footguns that people tend to complain about with the C family mid level languages, but because of
template
and all of the dynamics and paradigms that introduces into the language. It's really kind of amazing what you can do with it.Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
-
It's usually not a matter of "can I do something?" (the answer is almost always yes, but you won't like the details), rather "how the hell do I accomplish this?" I'm currently running into one such issue trying to avoid template creep, and I thought I had it, but no. I missed a detail. Which I think I just solved while typing this. Edit: maybe. hmmm. Such is the nature of this language. It's a giant puzzlebox. With C#, as often as not it's a matter of learning APIs. With C++ it's usually a matter of learning to cajole the compiler to bend your source code the way you want it to. It's uniquely challenging, not because of pointers or the usual footguns that people tend to complain about with the C family mid level languages, but because of
template
and all of the dynamics and paradigms that introduces into the language. It's really kind of amazing what you can do with it.Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix
I know what you mean; it's certainly not a handholding language. I don't profess to know any where near enough about template metaprogramming to be able to coerce it do do some of the things I might like. Definitely a language for grown up programming.