Hello everyone, Yilmaz here, from LearnCPlusPlus.org. Our educational LearnCPlusPlus.org web page is growing thanks to the support of you. We have many new readers, and we keep adding new C++ posts every day. These are good to learn the features of modern C++ compilers. In this round-up of recent articles, we explain some features of modern C++ along with other beneficial methods for intermediate and professional developers.
This week, we have C++ examples and an explanation about using non-copyable movable types in C++ templates. The rvalue references are important and we explain rvalue references to eliminate unnecessary copying in C++. C++11, C++17, and C++20 standards added to the richness of the language, and we explain one of these additions – explicit conversion operators. If you wonder what an explicit specifier is, we explain them in another post. C++11 introduced two new features: defaulted and deleted functions, we can use these two keywords to delete or to default methods in C++, and we explain this in the other two posts.
Table of Contents
Where can I learn C++ with a free C++ compiler?
If you don’t know anything about C++ or the C++ Builder IDE, don’t worry, we have a lot of great examples on the LearnCPlusPlus.org website and they’re all completely free. Just visit this site and copy and paste any examples there into a new Console, VCL, or FMX project, depending on the type of post. We keep adding more C and C++ posts with sample code. In today’s round-up of recent posts on LearnCPlusPlus.org, we have new articles with very simple examples that can be used with:
- The free version of C++ Builder 11 CE Community Edition
- or a professional version of C++ Builder
- or free BCC32C C++ Compiler and BCC32X C++ Compiler
- or the free Dev-C++
How to use modern C++ with C++ Builder?
In C++, memory and CPU/GPU management are very important. Every declaration and usage of any items can cause a lot of heavy calculations, memory usage, and high CPU/GPU usage if used or manipulated unwisely. Using copy and move types in templates is very important when you develop a professional app. In the first post, we explain how you can use non-copyable movable types in C++ templates. https://learncplusplus.org/learn-how-to-use-non-copyable-movable-types-in-c-templates/
The rvalue references are a compound type like standard C++ references, which are referred to as lvalue references. New rvalue reference rules were set by the C++11 specifications. In many cases, data is copied that simply needs to be moved, that is, the original data holder need not retain the data. The rvalue reference can be used to distinguish cases that require copying versus cases that merely require moving data. In the next post, we explain how we use rvalue references to eliminate unnecessary copying in C++. https://learncplusplus.org/learn-how-to-eliminate-unnecessary-copying-in-c/
In modern C++, explicit-qualified conversion functions work in the same context as explicit-qualified constructors and produce diagnostics in the same contexts as constructors do. C++11, C++17, and C++20 standards have improvements in this explicit specifier. This is done to avoid situations when the compiler uncomplainingly accepts code that is not semantically correct. In the next post, we answer the question “What is an explicit conversion operator in modern C++?” https://learncplusplus.org/what-is-an-explicit-conversion-operator-in-modern-c/
The explicit-qualified conversion functions work in the same context as explicit-qualified constructors and produce diagnostics in the same contexts as constructors do. C++11, C++17, and C++20 standards have improvements in this explicit specifier. This is done in order to avoid situations when the compiler uncomplainingly accepts code that is not semantically correct. In another post, we explain the explicit specifier in modern C++. https://learncplusplus.org/what-is-the-explicit-specifier-in-modern-c/
In programming, some of the most important parts are the functions that we create. They are like Lego parts that we can use in all places of the application. In modern C++ development, a function declaration is really important, and these functions gained some additional abilities after the C++11 standards. C++11 introduced two new features: defaulted and deleted functions. These are very useful in the function members of classes that we call methods. In the last post, we explain what is deleted function is in modern C++. https://learncplusplus.org/what-is-a-deleted-function-in-modern-c/
How to learn C++ for free using C++ Builder?
LearnCPlusPlus.org has been producing full of educational daily articles about C and modern C++ that can be used with C++ Builder, C++ Builder CE, Dev-C++, BCC Compiler and some other compilers such as the GCC compiler. 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 / X 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.
What is new in C++ Builder CE?
C++ Builder 11 CE which is the free Edition of C++ Builder has been recently released. Embarcadero has made available a Community Edition license for the most recent 11.3 release of Delphi and C++Builder. This is a free edition of either Delphi or C++Builder for students, hobbyists, and startups (as the license is revenue-limited).
What might be next for C++ Builder?
According to David Millington’s post, C++ Builder is aiming to include some amazing features; CLANG v15, support for C++20 and a lot of C++23 features, Win64 primary OS, new code completion, Visual Assist C++ navigation and refactoring, and lots more.
Note that 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.
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.