fenbf / cppstories-discussions

4 stars 1 forks source link

2023/init-story-print/ #116

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

C++ Initialization Story in Print - C++ Stories

I’m thrilled to announce the print/paperback edition of “C++ Initialization Story!” After nearly a year of updates and enhancements for the electronic version, this comprehensive resource is now complete! You can purchase the book in a variety of formats, and to celebrate this major update, I’m hosting a giveaway where you can get the book for free :)

https://www.cppstories.com/2023/init-story-print/

boxa72 commented 1 year ago

I don't have much trouble with initialisation of objects and variables so much as I do with understanding move semantics, but I suppose they are related so I do have a problem with objects and variables.

codecoyote commented 1 year ago

I believe initialization has become easier with modern C++ over time. Keeping track of nested objects as they are initialized can sometimes be challenging.

2kaud commented 1 year ago

@boxa72 - see https://leanpub.com/cppmove

GitRB22 commented 1 year ago

I never thought initialization in C++ would be complex to have a separate book that too in modern C++! Thank you for collaborating with many experts and making a book on it!

xventura81 commented 1 year ago

Initialization got much easier with the latest standards but anyway there is still no standard way to initialize objects that works always correctly and without drawbacks.

ldraconus commented 1 year ago

I find initialization has gotten more powerful, but with power can come additional complications. Simple things have gotten much easier... While the more esoteric possibilities are, of course, more difficult to fathom...

2kaud commented 1 year ago

Part of the issue is the way that C++ is incrementally advanced. There are now new versions every 3 years with new features based upon committee voted-for change proposals. There is also the desire to keep C++ backwards compatible as far as possible. Hence a majority of C++98 code will still compile OK with the latest standard (although may have a few warnings...). There is very little that has been removed over the years (mainly to do with functional and auto_ptr). If you started designing C++ now from scratch there's probably quite a bit you'd leave out or change. Hence new C++ - like languages have been developed but outside of niche groups haven't really caught on for widespread usage.

a8nguyen commented 1 year ago

I think initialization becomes more and more advanced over time. I personally feel like I don't understand pointers any better every time my senior colleagues teach me slick ways to initialize. User-defined? User-declared? Explicit? What is the difference. The most complex topic for me is definitely anything beyond default initialization. Personally, I would want to get more advanced in initialization. I think that initialization has definitely gotten more confusing for me in modern C++

kristinabp commented 1 year ago

For me the most complex topic in c++ is about pointers and references. I still find it difficult to understand them. In my opinion, Initialization has become easier with modern c++.