|
My favorite .NET data structure is Dictionary<T> hands down. I always found the C++ equivalents (STL's map and MFC's CMap ) somewhat klunkier, mostly because of the template usage and resultant inscrutable compiler diagnostics.
Software Zen: delete this;
|
|
|
|
|
Yes, Dictionary is verry powerful when you search by key as it gives you O (log N) search, no duplications, ets. But if we go this path then DataTable is even more interesting. I also don't like how you can shoot yourself in the leg with the STL map. One assignment with missing reference operator and you are working with old data/copy.
There is only one Vera Farmiga and Salma Hayek is her prophet!
Advertise here – minimum three posts per day are guaranteed.
|
|
|
|
|
STL map is pretty ok, but you need to know how to use it....
|
|
|
|
|
Yes. C++ demands more abstract thinking.
There is only one Vera Farmiga and Salma Hayek is her prophet!
Advertise here – minimum three posts per day are guaranteed.
|
|
|
|
|
enum s are also way better in .net languages.
|
|
|
|
|
Sorry, the only language I know, which treats enum as enum is Modula2.
All languages who allow to assign an enum item a individual value don't treat enum as enum and it should be forbidden that these languages missuse the a type called enum.
|
|
|
|
|
Unsure what you are saying. Do you mean the ability to assign a value which isn't defined by the enum ? I can agree with not liking that.
|
|
|
|
|
My view, only: enumeration should be only enumeration. Means nobody should have the right to assign a specific value to any member of an enum.
enum {theFirst, theSecond} should always end theFirst= 0, theSecond= 1. Even they should not be addressed by an intgeger value. Like it is in e.g. Modula2.
And no one should be allowed to define theFirst= 1000
Sorry, I'm not native english and therefore I have problems to express me.
[Edit]
An enumeration where you can define element0= -100 or whatever and element1= 100 is not an enumeration for me
modified 4-Dec-22 18:14pm.
|
|
|
|
|
Ah, I see, but I disagree. I prefer to be able to specify the values. It's kinda important for "flags" type enumerated values.
Maybe there should be an Attribute which enables things -- yes, I know about the FlagsAttribute, but it really only affects how strings are formed or parsed, it has nothing to do with what values are defined or assigned.
public enum Option
{
None = 0
,
UTF8 = 1
,
ASCII = 2 | UTF8
,
All = ASCII
}
Maybe a "bare" enum would enforce a strict value assignment and the ability to specify the values would require the developer to activate other features.
|
|
|
|
|
I would've said Java class Object
But on the other hand I must admit that, when it comes to Java for me personally, a ten-foot-pole aint long enough
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
Javascript - "undefined".
|
|
|
|
|
Visual Basic -- nothing
Mmm, yeah, quite literally.
|
|
|
|
|
C++ for me would be template
I don't really use the STL that much due to working with tiny amounts of RAM.
To err is human. Fortune favors the monsters.
|
|
|
|
|
You are lucky you have them. Not all embedded systems' compilers support templates (for example some Verifone proprietary systems).
There is only one Vera Farmiga and Salma Hayek is her prophet!
Advertise here – minimum three posts per day are guaranteed.
|
|
|
|
|
I've had this discussion before, and where I come down on it, is if your compiler doesn't support a major language feature, like template, you don't support the C++ language - you support a C++ subset.
To err is human. Fortune favors the monsters.
|
|
|
|
|
Basic = Dim!
"Go forth into the source" - Neal Morse
"Hope is contagious"
|
|
|
|
|
minding my own business... crafting another QA question...
This is at least the second time that writing the details of what I had tried led me to the answer.
I guess this is kind of a form of rubber-duck debugging.
The bad thing in this case is that the answer leads me to suspect that someone upstream of me is messing with the data feed I get. But that can wait for next year.
|
|
|
|
|
This happens to me a lot.
I'm in the process asking a question, then I test different things, write down a simple use case, try different approaches to make sure the question as clear as possible and I fix the problem.
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
PIEBALDconsult wrote: But that can wait for next year.
Don't do today what can be done tomorrow. Words to live by, for sure.
|
|
|
|
|
"Don't put off for tomorrow what can be put off for the day after tomorrow." -- possibly Mark Twain
Edit: In this case, someone else will be replacing my existing SSIS ETL with another technology next year.
modified 2-Dec-22 11:04am.
|
|
|
|
|
tomorrow is always another tomorrow -- manana
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Me and one of my coworkers do that all the time. We'll get stuck on a problem, I'll call him on Teams, or he'll call me, and just the fact that we have to describe the problem will often lead to the answer without the other person ever saying a word.
I've also heard it being described as "trying to explain it to your dog". If you understand the problem well enough to do that, you'll probably be able to find your own answer.
|
|
|
|
|
On occasion, over the years, I have actually woken up in the middle of the night, instantly knowing the solution to the problem, as if it was magically planted in my brain. It's the weirdest and strangest thing how that works. Every time, the solution works.
|
|
|
|
|
It's happened to me often enough that I keep a pad and pen on my nightstand, along with a little flashlight so I can write down the solution; the flashlight is so I can do it without waking up the spouse . And you're right -- the idea always handles the problem, be it bug or design conundrum.
Be wary of strong drink. It can make you shoot at tax collectors - and miss.
Lazarus Long, "Time Enough For Love" by Robert A. Heinlein
|
|
|
|
|
Happens to me a lot when I'm in the shower. The mind is a wonderful thing.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|