I often wonder this myself. Maybe it is just that difficult a problem. Or maybe it's because Big Pharma doesn't have strong motivation when the treatment is more lucrative than a cure (Tamoxifen treatment can continue for up to 10 years after radiation and chemo for breast cancer, Diabetes treatment life-long, etc.). Maybe it's some of both.
In my area, the community and state college have a program that allows students to transfer directly into a four year degree after completing core classes at the community college. All credits transfer so long as they’re part of the program.
For us, it was roughly half the tuition cost and student lived at home the first couple years. Worked well for us.
I wouldn’t call meta- and compile-time programming limited in modern C++ (C++17 and above).
With the addition of “constexpr” and “consteval” compile time programming is the same as runtime for many cases. Templates are obtuse for meta programming but usually can get the job done.
The need for macros much less common in modern code.
You can mostly avoid macros now, thankfully. I'm particularly thinking of things like compile-time reflection, some more complex type introspection. Things that would let you get rid of some code generation like D's mixins perhaps.
Existing c++ reflection has mostly been done with macros, which you sacrifice readability for by declaring your class with macros instead, and I believe is often a runtime thing anyway.
Complex type metaprogramming is possible, sure, but often so obtuse and illegible I'd dare say the preprocessor is a better alternative if it works.
Look out. Any time someone brings up microcontroller multiply, there's a someone who is compelled to chime in with "Well I've never needed to multiply on a microcontroller, so why do you need to!".
Just imo, humans thousands of years ago didn’t have media that informed them instantly of every horrible thing that can, and does, happen. There were also fewer humans (which I find contribute a lot to my own daily stress).
Maybe thousands of years ago humans were just blissfully ignorant of the dangers that existed?
I think there's a pretty good reasons the gods of myth are capricious and angry. It's not that people weren't aware of the problems of the world, they were just ascribed to deities.
Give it time and the vine will probably fall off on its own. I had a similar situation and it took well over a year before the tree was free of vines. Forcefully removing the vine can also hurt the tree.
I moved to a property on the East coast with a somewhat wild backyard and a lot of big oaks and maples. I kept away from anything I thought resembled poison ivy. One particular oak had a hairy vine wrapped around it that was 5-6" in diameter extending 60+ ft up into the canopy; it didn't have any leaves I could see. I removed it to keep it from choking the oak tree. I learned the hard way that poison ivy vines can get _really_ big and are hairy.
FWIW, constructors do not "create" (I assume you mean allocate) memory. That's the job of operator new. A constructor, given a block of untyped memory, will construct an object in it.
https://en.wikipedia.org/wiki/Hawaii_Cryptologic_Center