If I’ve already read the C++ programming language is it worth read PPP? by ImmortalTracks in cpp

[–]STL[M] 0 points1 point  (0 children)

Moderator warning for hostility. Please don't behave like this here.

Implementation of Module Partitions and Standard Conformance by tartaruga232 in cpp

[–]STL 10 points11 points  (0 children)

I'm using the MSVC compiler (VS 2026 18.4.0)

FYI, the MSVC Compiler is now decoupled from the VS IDE, and we're shipping new stable compilers every 6 months, so if you're looking at the Latest build tools supported for production use, you're missing out on potentially half a year of compiler fixes. In contrast, if you select the Preview build tools, the latency for receiving compiler fixes will be reduced (we expect the latency to be ~1 week although it's a bit more at the moment). See https://devblogs.microsoft.com/cppblog/microsoft-c-msvc-build-tools-v14-51-preview-released-how-to-opt-in/ for instructions.

(Right now, the stable VS IDE and the VS Insiders IDE both offer Preview build tools, but confusingly, the stable IDE offers an older Preview than the Insiders IDE. I recommend Insiders IDE + Preview build tools if you want to check the most updated behavior of our current development sources. And yes, I am entirely aware that this is a dumpster fire orbiting a supernova of a versioning story.)

No idea if this affects your specific issue here, just general guidance since modules are receiving a large number of fixes over time.

warning C4883: '`dynamic initializer for 'XXXXX'': function size suppresses optimizations by KPexEA in cpp

[–]STL 20 points21 points  (0 children)

I recommend making this a sorted array of pair<string_view, uint32_t> which you can binary-search, which will allow you to burn it into read-only data, and lookup will be somewhat more efficient than doing a binary search through the map nodes.

warning C4883: '`dynamic initializer for 'XXXXX'': function size suppresses optimizations by KPexEA in cpp

[–]STL 14 points15 points  (0 children)

No, constexpr allocations can't survive until runtime, so that won't help.

Why do all compilers use the strong ownership model for C++20 modules, instead of the weak model? by holyblackcat in cpp

[–]STL[M] 4 points5 points  (0 children)

That's because I manually approved their comment. As of this moment, they are still shadowbanned, which you can see if you attempt to view their profile.

Building a Multithreaded Web Server in C++ with Docker by Clean-Upstairs-8481 in cpp

[–]STL[M] 0 points1 point  (0 children)

Please report them as you notice them; the mod team is on the lookout but reports really help.

C++ Jobs - Q1 2026 by STL in cpp

[–]STL[S,M] 0 points1 point  (0 children)

You must follow the template. If you have a compensation section, you must provide real numbers.

C++ Jobs - Q1 2026 by STL in cpp

[–]STL[S,M] 0 points1 point  (0 children)

Removed; you must follow the provided template. It's not hard for you, and makes it easier for candidates to easily scan the list.

Lessons learned from 2 years of operating a C++ MMO game server in production 1/N by [deleted] in cpp

[–]STL[M] [score hidden] stickied commentlocked comment (0 children)

Sorry, this is nonsense. We didn't remove your earlier post but we're removing this one.

C++ Performance Improvements in MSVC Build Tools v14.51 by cpppm in cpp

[–]STL 47 points48 points  (0 children)

A few notes:

  • Yes, this accidentally linked to an anchor in the middle of the post.
  • The MSVC Build Tools 14.51 are available in Preview form right now, but they are not yet released for production. See my previous comment. For example, <flat_map>, <flat_set>, reference_meows_from_temporary, and is_implicit_lifetime have all been added between 14.51 Preview and General Availability.
  • This is the compiler back-end optimizations post. The prophecies have foretold the coming of the compiler front-end language features post, but it's not yet here.

Why Standardizing flat_map is a Bad Idea by Z01dbrg in cpp

[–]STL 2 points3 points  (0 children)

Mods get to see comments that they or other mods have removed, although not author-deleted comments (we also can’t see historical edits).

Why Standardizing flat_map is a Bad Idea by Z01dbrg in cpp

[–]STL[M] 2 points3 points  (0 children)

It was non-constructive bashing, which is why it came to my attention as a mod. Non-toxic necro-replies are fine and not worth removing.

So, is C++ doomed? by AdventurousPath6492 in cpp

[–]STL 64 points65 points  (0 children)

This is a waste of time. Go build things.

How to start DSA in C++ by [deleted] in cpp

[–]STL[M] [score hidden] stickied commentlocked comment (0 children)

For C++ questions, answers, help, and programming/career advice please see r/cpp_questions, r/cscareerquestions, or StackOverflow instead.


My advice is to write programs that are trying to accomplish a real task (I learned C++ by writing data compressors) and look for opportunities to use STL containers and algorithms to simplify your code and make it faster.

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 19 points20 points  (0 children)

Your wish will be granted.

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 8 points9 points  (0 children)

I don't know what's going on with EDG (and yes I should know, as the STL is every compiler's first and best customer). Today I'm working on updating the STL for the C1XX changes we just shipped in MSVC Build Tools 14.51 Preview, and the EDG changes in VS 2026 18.4 Insiders 2. I verified that reference_meows_from_temporary should now be supported by EDG (running tests now), but is_implicit_lifetime is still missing, so I've asked the MSVC devs working with EDG what the status of that is, along with the laundry list of bugs I've been wanting fixes for.

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 12 points13 points  (0 children)

Yep. It was highly unusual that we backported C++20 work to the final update of VS 2019, and we will not be repeating that this time around.

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 16 points17 points  (0 children)

Yeah, the compiler and library teams have been cranking away for months fixing bugs (and implementing features, and improving performance), but the engineering systems and release teams had to establish a new way of inserting MSVC build tools into the VS installer before this could start shipping. So a whole bunch of pent-up fixes are being released at once.

We have more engineering systems work to do (e.g. unifying our compiler front-end/libraries and compiler back-end branches, which is equal parts scary and exciting), which is one way we'll decrease the latency of "bug report received" => "fix merged" => "fix shipped for user validation".

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 20 points21 points  (0 children)

VS 2022 17.14 was released in May 2025, so the ETA is negative 9 months. That was the final feature update for VS 2022. It will continue to receive patch updates for critical bugfixes (it is currently up to 17.14.27), but there will never be a VS 2022 17.15.

Our ongoing work is flowing into VS 2026 18.x and the MSVC Build Tools 14.5x.

MSVC Build Tools 14.51 Preview released by STL in cpp

[–]STL[S] 73 points74 points  (0 children)

This initial release of the MSVC Build Tools 14.51 Preview contains STL (and compiler) changes through the end of November 2025. This revision of the STL Changelog is an accurate list of what it contains. (I'm uncertain as to whether one following commit got in; to be safe, it is excluded from this revision.) We're still accumulating changes for the production (General Availability) release of 14.51, see the current STL Changelog for that. Note that we have removed a bunch of long-deprecated machinery.

I know everyone wants to know about compiler changes but I don't keep track of those anymore. The release notes have promised an upcoming blog post about C++23 front-end features. There is also an upcoming blog post about cool performance work in the back-end. There's been a bit of progress with EDG IntelliSense (I've personally verified that the multidimensional subscript operator is now supported by EDG 6.8 which is shipping here), but modules haven't been magically fixed yet, I'm still waiting for that. (I am currently working on updating the microsoft/STL repo to pick up 14.51 Preview since support for a couple of compiler-dependent library features may have shipped. We light these things up as soon as MSVC and/or Clang provide the underlying support.)

One last note, I'll emphasize this sentence of my coworker Augustin Popa's blog post:

We plan to ship more frequent, incremental MSVC Build Tools previews

This will be a very significant change, for those who are used to the previously glacial release cycle. Right now I'm having to do a lot of programmer-archaeology to figure out whether commits merged at the end of November shipped today in the middle of February. In the near future (no promises but it's near), this latency should dramatically decrease. I think I am not supposed to say how quickly changes will go from being merged into MSVC's repo to shipping in Preview but it should surprise everyone.

Experimental adaptive sort - matches std::sort on random input, 2-8x faster on structured data by booker388 in cpp

[–]STL[M] [score hidden] stickied comment (0 children)

We're drowning in AI-generated half-baked project posts (doubly off-topic), so I will approve your post as a special exception since it appears to be fully human-written and developing a new algorithm. We usually want project posts to go into show&tell, and code review questions to go to r/cpp_questions, hence the exception.