Lifetime extension of temporary objects in C++: common recommendations and pitfalls

After reading this article, you will learn the following: ways to extend the lifetime of a temporary object in C++, various tips and tricks; pitfalls of the lifetime extension that a C++ programmer may face.

Lifetime extension of temporary objects in C++: common recommendations and pitfalls

by Evgeny Neruchek

From the article:

You can extend the lifetime of a temporary array by referencing one of its elements. C++ has a special mechanism for this. But I would recommend you using it only in the disputes with your co-workers (and maybe in metaprogramming with the old C++ standards), since this mechanism is not so easy-to-use. However, using this mechanism does not result in dangling references, and the lifetime of the temporary array is extended to the lifetime of the reference to its element.

FOSSA is announcing the GA of a security and license scanning capability for C and C++ projects

FOSSA was founded to provide the most relevant and real-time end-to-end governance for all third-party code. They now announce the general availability of C and C++ Security and License Scanning

Announcing the GA of C and C++ Security and License Scanning
By Gauthami Polasani

From the article:

Unlike other C/C++ scanning tools, FOSSA does not take a one-solution-fits-all approach to dependency identification in such a complex and layered ecosystem. FOSSA uses multi-pronged strategies (as described below) to accurately identify dependencies and surface security and license risks — regardless of how the code is included.).

Convenient Unicode UTF-8 UTF-16 Conversion Functions for Windows C++ Code -- Giovanni Dicanio

In Windows C++ programming many times there's a need to convert text between UTF-8 and UTF-16 encodings.

Convenient Unicode Conversion Functions for Windows C++ Code

by Giovanni Dicanio

From the article:

I published on GitHub a header-only library (Utf8Conv) that implements some convenient functions to convert text between UTF-8 and UTF-16 Unicode encodings.

I developed the library using Visual Studio 2019 with C++17 features enabled.

C++ on Sea 2023

C++ on Sea will be back by the sea, again, for 2023. This time we'll be running in the last week of June (27th-30th)

C++ on Sea 2023

From the article:

A limited number of Super Early Bird tickets are available now at a larger discount. Once they are gone Early Bird tickets will remain available until the speakers are announced (or they run out) - after which tickets will be full price.

We'll soon open the call for speakers and provide more information

...

Meeting C++ 2022 is in 3 weeks!

This years Meeting C++ conference is only 3 weeks away! Not much time left to join this years conference in Berlin or online for watching the talks and being part of the discussions around C++ and software design!

Meeting C++ features this year keynotes by Nicolai Josuttis, Daniela Engert and Klaus Iglberger! Online the conference offers AMAs with Andrei Alexandrescu, Inbal Levi and Bjarne Stroustrup. Onsite 3 tracks are hosted, with a 4th track being online only.

Meeting C++ 2022

by Jens Weller

From the page:

Meeting C++ 2022 will be held as a hybrid event in Berlin and online on 17th - 19th November 2022.

This years conference will be hybrid, a limited number of attendees will be able to join in Berlin, but the conference will also feature online and onsite only content. You'll be able to meet and exchange with the world wide C++ community for 3 full days.

Examples of errors that PVS-Studio found in LLVM 15.0

Compilers are evolving: they issue more and more warnings. Do developers still need to use static code analyzers like PVS-Studio? Yes, because analyzers are evolving too. In this article you'll see how PVS-Studio can find bugs even in a compiler.

Examples of errors that PVS-Studio found in LLVM 15.0

by Andrey Karpov

From the article:

It's a cool bug, although it's not scary. There is no semicolon after the return statement. As a result, the code does not work as it looks.

void FunctionLoweringInfo::ComputePHILiveOutRegInfo(const PHINode *PN) {
  ....
  Register DestReg = It->second;
  if (DestReg == 0)
    return
  assert(Register::isVirtualRegister(DestReg) &&
         "Expected a virtual reg");
  LiveOutRegInfo.grow(DestReg);
  ....
}

Improving copy and move elision - Bran Hagger

improving-copy-and-move-elision.pngFrom the MSVC team blog:

Improving copy and move elision

by Bran Hagger

From the article:

With Visual Studio 2022 version 17.4 Preview 3, we’ve significantly increased the number of situations where we do copy or move elision and given users more control over whether these transformations are enabled. ...

PVS-Studio 7.21: GitLab Code Quality, Unreal Engine

PVS-Studio 7.21 has been released. This short note describes the analyzer's main enhancements and lists our recent articles and quizzes.

PVS-Studio 7.21: GitLab Code Quality, Unreal Engine

by Sergey Vasiliev

From the article:

New C++ diagnostics:

  • V1090. The 'std::uncaught_exception' function is deprecated since C++17 and is removed in C++20. Consider replacing this function with 'std::uncaught_exceptions'.
  • V1091. The pointer is cast to an integer type of a larger size. Casting pointer to a type of a larger size is an implementation-defined behavior.
  • V1092. Recursive function call during the static/thread_local variable initialization might occur. This may lead to undefined behavior.

ACCU 2023 Call for Papers is open -- ACCU

The ACCU is now putting together its program, and they want you to speak on C++. The ACCU conference has strong C++ tracks, though it is not a C++-only conference. If you have something to share, check out their

Call for PapersACCU 2023 Logo

by the ACCU

About the conference:

The ACCU 2023 conference will be from 2023-04-19 to 2023-04-22, with pre-conference workshops on 2023-04-17 and 2023-04-18.

The ACCU 2023 will be a hybrit event.

Historically, ACCU has a lot of C++ and C content, and is proud of that: ACCU is the foremost annual conference for people interested in C++ and C, at least in and around the UK. But it is not just a C++ and C conference, ACCU is about programming in whatever language people are using, with whatever tools and processes people are using: D, Chapel, Java, Kotlin, C#, F#, Groovy, Rust, Go, Python, Ruby, Lisp, to name just a few programming languages about which there have been sessions at ACCU conferences. Git, Mercurial, CMake, Meson, TDD, BDD, all these tools and techniques have been the focus of sessions at ACCU. The ACCU Conference is looking for sessions that will be interesting to people who create software.
The ACCU Conference is put on by ACCU (https://accu.org), but is open to anyone who wishes to be there either as a presenter or an attender.

The Call for Papers lasts for about 3 weeks and will close on Monday 7th November 2022 at 23:59:59 GMT.