ReSharper C++ 2026.3: Class Layout, Format String Analysis, And More JetBrains released ReSharper C++ 2026.3, adding a Class Layout tool window that visualizes the memory layout of classes, structs, and unions, including field offsets and sizes, bit-fields, base class subobjects, virtual table pointers, and padding. The release extends format string analysis beyond printf-style calls to std::format, std::print, and the {fmt} library, flagging invalid replacement fields, missing and unused arguments, and format specifications that mismatch argument types. ReSharper C++ 2026.3 also updates the Change Signature refactoring to support constructors and adds a Place in option and Make constexpr option to Extract Method, plus new CUDA inspections. ReSharper C++ The Visual Studio Extension for C++ Development .NET Tools https://blog.jetbrains.com/rscpp/category/net-tools/ News https://blog.jetbrains.com/rscpp/category/news/ Releases https://blog.jetbrains.com/rscpp/category/releases/ Resharper C++ https://blog.jetbrains.com/rscpp/category/resharpercplusplus/ ReSharper C++ 2026.3: Class Layout, Format String Analysis, And More ReSharper C++ 2026.3 is here, with a new Class Layout tool window that visualizes the memory layout of your classes and helps you spot wasted space.. This release also improves format string analysis to cover std::format , std::print , and the {fmt} library. Other highlights include updates to the Change Signature and Extract Method refactorings, as well as new CUDA inspections. Class layout How a class is laid out in memory determines how much space each object takes, how well its data fits into CPU cache lines, and whether it matches a binary format or an ABI shared with other code. To satisfy alignment requirements, the compiler silently inserts padding between fields. As a result, a class can end up noticeably larger than the sum of its members. This can add up quickly for objects allocated in large numbers or processed in tight loops. The new Class Layout tool window visualizes the memory layout of a class, struct, or union, including the offset and size of every field and bit-field, base class subobjects, virtual table pointers, and the padding between them. This makes it easy to find padding you can eliminate, check the effect of alignas or pragma pack , and understand the layout of classes in a complex hierarchy. To open the tool window, place the caret on a class name or any reference to a class type, then choose ReSharper | Inspect | Class Layout . Alternatively, select the Class Layout item in the Alt+Enter menu. Refactorings Change Signature for constructors The Change Signature refactoring now works on constructors. You can add, remove, reorder, and change the types of constructor parameters, and ReSharper C++ updates the constructor calls throughout your code, including direct and braced initialization, new expressions, member and base class initializers, and factory functions such as std::make unique . The Change Signature dialog also has two new options that let you add or remove the static specifier on functions and the explicit specifier on constructors. Note: Some constructor calls, such as implicit conversions or calls through a custom factory template, can’t be found and therefore aren’t updated. Extract Method placement The Extract Method refactoring now has a Place in option that controls where the extracted function is placed: either next to the current function, as a free function in the namespace containing the current class, or as a free function in an anonymous namespace. A new Make constexpr option also lets you mark the extracted function constexpr . Introduce Using Directive The new Introduce Using Directive refactoring replaces namespace qualifiers, such as std in std::cout , with a using namespace directive. Format string analysis std::format , std::print , and {fmt} ReSharper C++ has long analyzed calls to printf -like functions. In 2026.3, the same analysis extends to the C++20