Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
StephanTLavavej
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
91.
▲
by
StephanTLavavej
11y ago
FYI, C99 printf including 'z' for size_t was fully implemented in VS 2015.
92.
▲
by
StephanTLavavej
11y ago
> The only solid solution to the Fermi Paradox that does not require some new and presently missing piece of scientific understanding There's at least one more: somebody's gotta be first (in our light cone).
93.
▲
by
StephanTLavavej
11y ago
And in fact, VC's volatile behavior provides only acquire-release, not full sequential consistency. SC is required for the correctness of some algorithms, and it's what programmers intuitively expect, so <atomic> provides it
94.
▲
by
StephanTLavavej
11y ago
No, that was forbidden by the resolution of Core Issue 1669, see: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html...
95.
▲
by
StephanTLavavej
11y ago
Yep, that's a totally counterproductive use of trailing return types. There are several reasons to use trailing return types, but that's not one of them. (The major use is when you have to refer to function parameters with decltyp
96.
▲
by
StephanTLavavej
11y ago
It's amusing to see somebody going through work I did 8 years ago!
97.
▲
by
StephanTLavavej
11y ago
Old auto was completely removed.
98.
▲
by
StephanTLavavej
11y ago
auto variables are different from trailing return types introduced by auto (a particularly egregious appropriation of a keyword for a totally different use).
99.
▲
by
StephanTLavavej
11y ago
You're incorrect, for C89 through C++17. I'd recommend not making statements about languages you've forgotten. In the C++ Working Paper, the Standardese is N4527 5.2.2 [expr.call]/4 "When a function is called, each
100.
▲
by
StephanTLavavej
11y ago
Yep. (TR1 was published after C++03, they're totally different things.) What we did with TR1 was actually very friendly to migration - we provided std::tr1::meow in <meow> (in 2008 SP1), then in 2010 we aliased that to std::meow
101.
▲
by
StephanTLavavej
11y ago
If we changed __cplusplus before implementing every single C++11 feature, the Internet would riot.
102.
▲
by
StephanTLavavej
11y ago
It's entwined, and has been for nearly a decade. MS licensed Dinkumware's STL back in the mid-90s (and I know almost nothing about the early history). Around 2005, MS was doing things like adding security features to the STL, but
103.
▲
by
StephanTLavavej
11y ago
Heh! Nobody's ever called me a collective entity before. I just happen to enjoy writing and keeping track of these feature tables, which is why I publish them. My real work goes into STL features and fixes, which is just one part of a
104.
▲
by
StephanTLavavej
11y ago
It was a close call, but we got it done just in time. (It took a month and a half to constexprize the STL. I went through 84 shelveset revisions, which would be like feature branch checkins in git, and that's not counting the numerous
105.
▲
by
StephanTLavavej
11y ago
Yes. In fact, the usual mechanism for doing so is referred to as tag dispatch. For example, an algorithm can take an arbitrary Iterator type, and select between a correct-but-slow algorithm for weak iterators like forward iterators, and a f
106.
▲
by
StephanTLavavej
11y ago
Yeah, being able to determine the validity of arbitrary expressions at compile time is extremely useful for libraries. For example, it allows libraries to sense the presence of member functions in user-defined types, calling them when prese
107.
▲
C++11/14/17 Features in VS 2015 RTM
(blogs.msdn.com)
122 points
by
StephanTLavavej
11y ago
|
35 comments
108.
▲
by
StephanTLavavej
11y ago
It's roughly 3000 cycles. Yes, three thousand. See: http://www.anandtech.com/show/7237/samsungs-vnand-hitting-th...
109.
▲
by
StephanTLavavej
11y ago
VCBlog is the VC team's official blog. See http://blogs.msdn.com/b/vcblog/archive/2014/06/06/c-14-stl-f... for where I announced the alignment thing.
110.
▲
by
StephanTLavavej
11y ago
Yeah, unordered_meow is always going to be a pretty crummy hash table. But our implementation could be significantly improved while still obeying the Standard.
111.
▲
by
StephanTLavavej
11y ago
Nope, our sources assume they're running on Windows.
112.
▲
by
StephanTLavavej
11y ago
By default, std::allocator just wraps new, so it doesn't make things any harder to measure. vector isn't "allocating extra space" for no reason - its capacity grows geometrically in order to provide amortized O(1) push_b
113.
▲
by
StephanTLavavej
11y ago
You're welcome! And even if you don't use VC's STL, hopefully make_unique and the other things I've designed will be helpful.
114.
▲
by
StephanTLavavej
11y ago
And recently (in 2013, I forget about previous versions) the CRT began using the process heap, instead of having its own heap handle. So the malloc/new/std::allocator family is an even thinner wrapper around HeapAlloc in that sens
115.
▲
by
StephanTLavavej
11y ago
I bookmarked those posts a while ago in the hopes that I'll get a chance to rewrite VC's unordered_map in the future. We've taken the first step towards doing so by deprecating the non-Standard hash_map (which shares its guts
116.
▲
by
StephanTLavavej
11y ago
8/7000 is 0.11%.
117.
▲
by
StephanTLavavej
11y ago
See the FAQs at the bottom of the post: "Q. I want Expression SFINAE." and "Q. When will you implement Expression SFINAE?".
118.
▲
by
StephanTLavavej
11y ago
Thanks! I just try to follow the meta-golden rule: treat your users as you would prefer to be treated by your implementers.
119.
▲
by
StephanTLavavej
11y ago
The C99 Standard Library has been completed in 2015, including snprintf, with the exceptions noted in my post (tgmath.h and pragma macros).
120.
▲
by
StephanTLavavej
11y ago
VC's current lack of an AST makes constexpr and other major features (especially variadic templates) very difficult. As the compiler devs have explained to me, this was a clever way to save space and time decades ago when C++ was simpl
More ›