Hello C++ Developers. Many times, the “Modern C++” term appears in discussions. In general, “Modern C++” started with the C++11 standards. C++11 is shorthand for C++ that is based on and implements the C++ ISO/IEC 14882 standard. Similarly, C++14 is later standard, C++17 follows that, C++20 after that, and C++23 in the future. Moreover, modern C++ consists of a lot of features of previous C++ like C++98 and before. Personally, I think Modern C++ is only modern if you are developing modern apps for today’s latest operating systems and their devices – but within the industry “modern C++’ specifically means the program code is written to take advantage of those later standards.
These standards listed above are not enough alone to develop modern apps. You need to be using the latest modern C++ compiler and IDE with C++ tools that use and support these standards. For example, the latest RAD Studio, C++ Builder 11.3 has a substantial collection of new features (including C++11, C++14, and C++17 features), but goes way beyond those syntactic standards and augments your programming toolbox with GUI features, Modern UI visuals with many skins, High-Res Bitmap Tools, 500+ free and 3rd party libraries and tools for different modern needs, database connectivity tools, REST tools to simplify and automate interactions with REST servers, deployment tools to get your apps into the app stores and user’s machines, and multi-OS Multi-Device support. The latest 11.3 release of RAD Studio is focused on quality and a broad range of improvements.
Learn what’s new in RAD Studio, C++ Builder 11.3
Embarcadero announced the release of RAD Studio 11 Alexandria Release 3, also known as RAD Studio 11.3, along with Delphi 11.3 and C++Builder 11.3. This release is focused on quality and improvements, building on the great new features in RAD Studio 11 Alexandria three previous releases.
What are the important features of the C++11 standard in modern programming?
In C++, logical errors – where something in the program code should be true or false, can be very difficult to spot and track down because the code looks correct but the flaw in in how it is being used programmatically. The
static_assert method is one way to check that an expression which should evaluate to true or false at a given point is actually doing that. In the first article we describe how to use
static_assert in C++ and what it does. https://learncplusplus.org/what-is-static-assertion-and-how-to-use-static_assert-in-c/
C++ has some really great features for being able to define different types of variables and structure. One of the most used and very useful arrays in C++ is the
std::vector. If you know arrays in C and C++, then containers are a modern and very flexible form of arrays in C++. If you want to initialize containers like vector, list, map, etc. you need use
std::initializer_list. It can be used with an appropriate C++ tool that compiler supports the C++11 standard and above like C++14, or C++17, etc. It is also very useful with templates and in the next article, we describe the
In C++, enumeration is very important and widely used. Enumeration in C++ can be done with the
enum keyword which can be used to create unscoped and scoped enumerations. C++11 and above has modern enumeration methods that can be easily used in a modern C++ Code Editor and compiler. In the next post, we explain what strongly typed enums in C++ are and how to use them. https://learncplusplus.org/everything-you-need-to-know-about-strongly-typed-enums-in-modern-c/
Unscoped enumeration is an old enumeration style, used before C++11 and improved after C++11 standards. In this enumeration type, the
enum keyword can be used to declare an unscoped enumeration type whose fundamental type is fixed, not fixed or can be used to specify the name and the type. In the next post, we explain how to use
enum in unscoped enumeration in C++. https://learncplusplus.org/learn-how-to-use-enum-in-unscoped-enumeration-in-c/
When there is a numerical value in an application’s development code, a professional programmer needs to understand which type of a variable should be used how big it could be in terms of capacity and memory usage. The developer must take into account what the minimum and maximum ranges could be. In most operations, the exact choice of variable might not be too important, but for larger numbers, it is often vital to understand the most appropriate choice to make to avoid overflow or errors where limits have been exceeded which can sometimes be difficult to track down. C++ is a great programming language that has many useful libraries and headers such as the <limits> header that helps developers to learn numerical limits of variables when the C++ compiler creates the program and it is run by the user. In the last post we explain how to use limits header to detect limits of some of the variables in C++. https://learncplusplus.org/how-to-learn-limits-of-a-variable-type-in-c/
Learn with examples about what the C++11 standard brings to modern programming today
LearnCPlusPlus.org has been producing daily articles for more than 2 years at the time of writing and is packed full of educational posts about C and C++. Here are our post picks for today.
We like to hear your feedback. You motivate us so much with your likes and comments on social media (find us on Facebook, LinkedIn, Reddit, Twitter and all over) and here on the blogs too. Thank you for your valuable comments and questions. All of them help improve the quality of our future posts and new code in these posts.
We have a lot of unique posts waiting to come. We keep adding new topics every week about C++ in general and specific topics for C++ Builder, Dev-C++, and for the other C++ compilers. Please keep following our LearnCPlusPlus.org website for the latest posts and updates. Feel free to comment and share with your colleagues, students, members – knowledge is power, and knowledge shared is empowering.
If you still don’t know what is new in the latest RAD Studio here is an official webinar replay about What is New in RAD Studio 11.3 Alexandria.
C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.
There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise version.