Warning: this answer is very long and has a lot of psychobabble (which I try to explain, but still). What can I say? Psychology is one of my favorite subjects outside programming.
I'm an artist, mostly, though I describe myself as a artist/physicist. While I can do math, deal with words, and the "logical" stuff considered left-brain, it's an effort and I make mistakes, whereas I do well with and most of the time think in terms of those things associated with right-brain thinking - spatial relations, holistic big-picture context, etc. Of course all that is fuzzy, as the right-left brain theory is oversimplified and no mental activity is so simple. Yet I do sense that I fit in fine with artists, video directors, chefs, and other non-verbal thinking, creative types, while most people in "IT" or hardcore software engineers have minds that work differently, with attention to detail, holding many details in mind at one time, and strong rational and verbal capabilities.
This is actually based on a somewhat outdated view of neuroscience. At one point in time, scientists believed that the left brain was only responsible for logic and raw sensory data while the right brain was solely responsible for intuition and feeling. As it turns out, the left brain is really capable of everything the right brain is and vice versa. As someone who is extremely right-brained yet logical, terrible with directions and spatial orientation, and completely devoid of any of the artistic creativity that is traditionally associated with the right brain, I can attest to this.
The best way to think of the difference between the left and right brain is to think of them as mirror images of each other. To understand this, you need some background data. A psychologist named Carl Jung came up with a personality theory in the 20s that divided up personality along a couple of dimensions. You've probably heard of one of them: introversion vs extraversion. I've written a couple blogposts on this subject, but it basically boils down to this: introversion differentiates itself from others while extraversion focuses on how it can connect to others. This is referred to as an "attitude".
Then you have four different cognitive functions: thinking, feeling, sensation, and intuition. For simplicity's sake, let's just say that two of these functions are considered "judging" functions (thinking and feeling) while the other two are "perceiving" functions. The judging functions make decisions. When you're in a judging mindset, you are trying to avoid surprises. You want to have made all of the right decisions beforehand so you don't have to adapt when surprises come along. Because you've done so much planning in advance, you may have a tendency to become rigid and inflexible once a decision has been made. On the other hand, a perceiving mindset tends to prefer flying by the seat of its pants and rolling with the punches.
Generally, you combine the function and an attitude to create a (creatively named) function-attitude (introverted thinking, extraverted feeling, etc). Peoples' conscious personalities are defined mostly by a dominant function-attitude and an auxiliary function-attitude. Eventually, psychologists came to a consensus that there are broadly two types of people: people whose primary two functions consist of an introverted judging function and an extraverted perceiving function, or people whose primary two functions consist of an extraverted judging function and an introverted perceiving function. If you've ever taken the MBTI or similar personality test, the last letter tells you which category you fall into. If you're a P, it means you're an introverted judger/extraverted perceiver and J is the other way around.
Still with me thus far? Here's where I get to what I meant by the two sides being mirror images of each other. Nobody realized it at the time, but they were essentially building a sketch of where functionality lies in the brain. Indeed, each of Jung's function-attitudes has been mapped to a rough location in the brain. As it turns out, all of the P functions (introverted judging and extraverted perceiving) are on the right side of the brain and the J functions are on the left side of the brain.
Whenever you say that left-brained people are good at details and right-brained people are good at the "big picture" (although I would say "whole picture" would be more accurate), you're focusing on the extraverted side of things. If a left-brained person manages a right-brained person, the lefty is going to want to know all the details about how the righty is going to do their job up front and in advance. They want the requirements set in stone and hard deadlines decided in advance. The righty just wants a very broad idea of what they need to do so they can fill in the details later.
However, note that this isn't doesn't seem to be what you are experiencing. It seems as though the lefties' code probably wasn't terribly well thought out in advance and has some issues that could have been prevented by some forethought. This is because when you build abstract models of things like code in your head, you're using your introverted function, which works the other way around. The righty wants to build that model in advance and do so in such a manner that it fills in all the necessary details or easily can fill in all the details. Plus, they might become rigid in terms of the best approach to take (note that you're taking a hard line on how you feel about C++'s more advance features). The lefties' model will be more ad hoc and filled in as they go.
My experience is that because of this, the lefties will accuse the righties of over-engineering everything while the righties will accuse the lefties of being too quick and dirty. Both sides have a grain of truth to them, but only when that approach is taken to the extreme. Here's what's funny though: they're taking opposite approaches to achieve the same goal (that is, getting things done). The righties want to have their model decided upon up front so they can spend less time implementing the thing and therefore getting the entire project done sooner. The lefties want to spend less time architecting so they can get things done sooner.
Incidentally, these two attitudes are reversed when it comes to project management type stuff (determining timelines, coming up with requirements, etc). This can lead to a really confusing situation where one side is accusing the other of being too rigid while the other claims that the other side isn't planning ahead enough, and then the next argument has both sides taking the exact opposite stance.
What can you do about all of this? Nothing other than being aware of these differences and trying to accomodate the other side's view as much as possible. The problem though is that this goes both ways. You can understand and accomodate the lefties as much as possible, but that won't make much difference unless they're trying to return the favor. This is always the challenge. Not because the lefties are assholes and want to make the righties' lives miserable, but because the lefties are used to being dominant in the field of programming. If your way of thinking was echoed by pretty much everyone else, you'd be pretty convinced you're correct too.