Solrac@quokk.au to Programmer Humor@programming.devEnglish · 1 day agoIs my fear of C/++ Justified?quokk.auimagemessage-square35linkfedilinkarrow-up1180arrow-down15file-text
arrow-up1175arrow-down1imageIs my fear of C/++ Justified?quokk.auSolrac@quokk.au to Programmer Humor@programming.devEnglish · 1 day agomessage-square35linkfedilinkfile-text
minus-squareboonhet@sopuli.xyzlinkfedilinkarrow-up4·21 hours agoAs someone who last touched any C++ books when C++11 was very new and has only written like 20-30 lines of non-tutorial C++ since then, what are some significant changes to the language that I should be aware of if I wanted to give it a try now?
minus-squareglibg10b@lemmy.ziplinkfedilinkarrow-up9arrow-down1·21 hours agoA few examples: CTAD: Instead of std::pair<int, int> myPair{ 1, 2 }, you just write std::pair myPair{ 1, 2 } std::optional, std::variant and std::any Guaranteed copy elision in some cases, making it more feasible to apply the rule of 5 everywhere Attributes like [[nodiscard]] (compiler warning if an object or return value is discarded) and [[fallthrough]] (suppress a switch fallthrough warning) Generic lambdas ([](auto it){ /* do something */ }) std::string_view, which is much safer as a function parameter than const char*
minus-squareVictor@lemmy.worldlinkfedilinkarrow-up3·16 hours ago Class Template Argument Deduction (CTAD) For anyone wondering, like I did.
As someone who last touched any C++ books when C++11 was very new and has only written like 20-30 lines of non-tutorial C++ since then, what are some significant changes to the language that I should be aware of if I wanted to give it a try now?
A few examples:
std::pair<int, int> myPair{ 1, 2 }, you just writestd::pair myPair{ 1, 2 }[](auto it){ /* do something */ })const char*For anyone wondering, like I did.
Modules