CyberBoardPBEM / cbwindows

CyberBoard Play by EMail system for Windows
MIT License
7 stars 4 forks source link

Which C++ std? #76

Open wsu-cb opened 2 years ago

wsu-cb commented 2 years ago

Should we be more explicit about which C++ standard we are targeting?

Clearly, I have been making extensive use of C++11.

README.md says the code was updated to VS 2019 Community Edition, which MS docs (https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version?f1url=%3FappId%3DDev16IDEF1%26l%3DEN-US%26k%3Dk(VC.Project.VCCLCompilerTool.CppLanguageStandard)%26rd%3Dtrue&view=msvc-160#c-standards-support) seem to say is always at least C++14, but can be set higher.

DLLarson commented 2 years ago

Should we be more explicit about which C++ standard we are targeting?

I'm going to say this isn't necessary right now.

At this point the only toolchain supported by CB is VS2019 (CE is the minimum SKU that works.) That's a standard in its own right. It may evolve the level of C++ standard supported over time as they push out updates.

Historically MSoft was way behind GCC in supporting newer C++ features (probably due to their pushing .NET everywhere ad nauseum.) At some point however, they rediscovered native C++ and started modernizing the base toolchains. In addition they increased MFC features (to a point) and included the source code with the consumer edition. This was huge as otherwise CB would've needed a pay for version of VS to be developed which I really didn't like.

-Dale

wsu-cb commented 2 years ago

At this point the only toolchain supported by CB is VS2019 (CE is the minimum SKU that works.) That's a standard in its own right. It may evolve the level of C++ standard supported over time as they push out updates.

Actually, it's not easy to get VS2019 Community Edition any more; it's VS2022 Community Edition now. I am still mostly using VS2019 CE myself, but if we declare an officially supported version, I think it has to be VS2022 CE.

DLLarson commented 2 years ago

I wasn't aware a new version is out. That's what happens when you retire and it doesn't matter as much. ;)

We should probably give it a go to see if that's the next logical place to be. I just hope MSoft's not on some new kick/fad that removes features or something.

-Dale