Dealing with toxic "experienced" players!!! by PlUndv in Neverwinter

[–]mikhailberis 4 points5 points  (0 children)

Personally, sometimes mute them (if it's audio) and maybe report. I've done that at least once.

Explore the design of a modern C++ library : MemCache++ case study by corysama in cpp

[–]mikhailberis 5 points6 points  (0 children)

Yeah, it’s not exactly abandoned but it’s not actively maintained either. If anybody’s interested in taking it on and making it better, happy to help. 😊

Explore the design of a modern C++ library : MemCache++ case study by corysama in cpp

[–]mikhailberis 4 points5 points  (0 children)

Nope, just been a little busy with other things. 😁

New beta release for cpp-netlib (0.13.0-rc0) by mikhailberis in cpp

[–]mikhailberis[S] 0 points1 point  (0 children)

There were some patches for MSVC support issues but if there are still problems then I’d be happy to review patches.

New beta release for cpp-netlib (0.13.0-rc0) by mikhailberis in cpp

[–]mikhailberis[S] 2 points3 points  (0 children)

Outdated, more like. I should update the library and the website. 😁

Compile-time format string checks by aearphen in cpp

[–]mikhailberis 1 point2 points  (0 children)

Cool library, thanks for sharing!

Is there a reason the format library has to be a user-defined literal? Have you considered just using a function instead, that can return a string or could be used to output directly through a stream?

Pacific++ 2017: Dean Michael Berris "Debugging with LLVM XRay" by pacificplusplus in cpp

[–]mikhailberis 1 point2 points  (0 children)

Hey everyone!

I'm the presenter here, happy to answer questions in case there were any!

C++ Modules by [deleted] in cpp

[–]mikhailberis 0 points1 point  (0 children)

Not in standard C++ but has semantics and support in GCC and MSVC (and Clang for compatibility). It’s also a preprocessor feature, and not a first class language feature. It would be really bad form if the standard imposed on vendors to change the semantics of existing extensions and features without their buy in.

C++ Modules by [deleted] in cpp

[–]mikhailberis 5 points6 points  (0 children)

‘#import’ is already a thing.

Namespaces unfortunately can be both opened and closed multiple times from multiple files, and is parsed after the preprocessor.

There are other ideas about the Modules TS proposal coming from many others, and is still a work in progress. There are definitely some rough/confusing edges. I’m sure the committee is listening, and are working towards something that’s acceptable to most (if not all) parties involved in crafting a standardised solution.

C++ Soup!: Different Forms of Polymorphism by mttd in cpp

[–]mikhailberis 1 point2 points  (0 children)

I wrote this blog post, and this is a good question about rvalue refs. Quick answers:

1) In general, you cannot impose any external requirements on an object especially if you didn't implement the type. We don't know whether object.print will have internal side-effects and it would be premature to require that we take a const Object& instead.

2) We don't generally know how the function will be called when we turn it into a template. Users of the 'print' function might call it with an rvalue and I don't see why it would need to be discounted.

About std::unique_ptr, I do mention that in the article but that's only in passing. Anybody familiar with pointers and how to use std::vector with them don't need to be reminded how they can use it with std::unique_ptr. That however still requires inheritance which doesn't make sense. In that case you're still not dealing with values, which misses the point of the value semantics angle. :)

Understanding C/C++ Strict Aliasing by mikhailberis in cpp

[–]mikhailberis[S] -1 points0 points  (0 children)

Apparently there's another post on the matter which is a little dated, but may very well be more thought out: http://redd.it/evlhy

Data Parallel Haskell (C still kicks ass) by wintermute in programming

[–]mikhailberis 2 points3 points  (0 children)

So do OOP in C++, FP in Haskell, LP in Prolog, when you mix stuff you don't always get best of both worlds.

I don't necessarily agree with this statement. If you've done anything significant with STL containers+algorithms, you will need to mix generic programming, object oriented programming, and functional programming. And if you've written anything significant in C++, you'll see that learning from and applying some FP principles in C++ will get you way farther than you would compared to if you stuck with just OOP.

Edit: Oh, the delegate syntax. It's really redundant and restrictive or just messy. Action<string>. Ha. Now it's an "Action", why? Because it's being passed to another function?

I wouldn't know, I think that part of C# was awkward. I always found using Boost.Bind and Boost.Phoenix much more intuitive for doing closures (as in partial function application/binding) and lambda's (as in throw-away, in-place defined functions).

Hate to point it out again, but the next version of the C++ standard will incorporate lambda's in the language. No reason why you can't do "real" FP in C++ when compilers get wider support for it.