Hello fellow C++ Developers. Since January we have released many new posts covering the features of the C++11 standard. These features are mostly done, and this week we start on describing C++14 features. We have five more beginners to professional-level topics in modern C++. C++ evolves and refines itself even further with the release of each new C++ standard. C++14 came with a new deprecated
attribute feature to allow marking an entity as deprecated – potentially obsolete and best avoided. We explain what deprecated means and how to use the deprecated
attribute in C++. In another post, we explain why the gets
function was deprecated in C++11 and eventually removed altogether in C++14. We teach integer literals, and binary literals that come with C++14. There is also a great new feature, digit separators that makes it easy to see integer values in coding, and we explain how to use it in different integer types.
Our educational LearnCPlusPlus.org site has a whole bunch of new and unique posts with examples suitable for everyone from beginners to professionals alike. It is growing well thanks to you, and we have many new readers, thanks to your support! The site features a plethora of posts that are great for learning the features of modern C++ compilers with very simple explanations and examples.
RAD Studio’s C++ Builder, Delphi, and their free community editions C++ Builder CE, and Delphi CE are a real force for modern application development.
Table of Contents
Where I can I learn C++ and test these examples 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, easy to understand 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++
Read the FAQ notes on the CE license and then simply fill out the form to download C++ Builder 11 CE.
How to use modern C++ with C++ Builder?
C++ is very strong in every aspect of modern programming and evolves and refines itself even further with the release of each new C++ standard. While there are many new additions there are some features that are found not useful or ‘dangerous’ in programming, thus the C++ community offers its deprecation in the next released C++ standard and then it is generally removed in the following standard. C++14 came with a new deprecated
attribute feature to allow marking an entity as deprecated – potentially obsolete and best avoided. In the first post, we will explain what deprecated means and how can we use the [[deprecated]]
and __declspec(deprecated)
attributes in modern C++.
Modern C++ has a lot of useful functions thanks to its evolution from the C language. One of them was the gets()
function that we use to get string inputs and that we were able to use in C++11 or earlier. In C++14, the gets
function was removed, while fgets
or other input functions remain there. If you have older C++ code that uses the gets()
functions your C++14 version compiler will not compile it. Why was the gets
function removed? In the next post, we explain what the gets
function is, why the std::gets
function was removed by the C++14 standards, and how can we use similar functions or alternatives to the gets()
function.
A programming language consists of a lot of expressions in the source code of a program. One of elements of expressions in C++ are literals. A more specific type of literal is Integer Literals. Integer literals are primary expressions that allow values of integer types (i.e., decimal, octal, hexadecimal) to be used in expressions directly. They are further improved by the boolean
literals (binary digits) in C++14. In another post, we explain and list the types of integer literals available to us in modern C++.
C++14 brings us fewer but still useful features to modern C++ than the standards preceding it. The creator of C++, Bjarne Stroustrup says that improvements in C++14 were deliberately lower in quantity compared to C++11. One of the small but useful features is the introduction of “Binary Literals”. C++14 comes with the Binary Literals feature, and in the next post, we explain how we can use binary bits.
C++14 also comes with the digit separators feature. In C++14 and above, we can use the digit separator to visually separate integer numbers. In the last post, we explain, how to use digit separators in examples. The separators and literals of C++14 help improve the readability of C++ source code.
How to learn modern 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.
Do you want to know some news about C++ Builder 12?
A Few weeks ago, David Millington, Senior Product Manager of C++ Builder, released a new video about “Behind the Build: RAD Studio and C++Builder 12.0“. According to David Millington’s post, C++ Builder is aiming to include some amazing features and a lot of performance improvements in operations. C++Builder 12 plans to bring some massive improvements, the enhanced Clang toolchain and Visual Assist integration, substantial improvements across RTL, STL, debugging, and more. Here is the full presentation,
Here are a few of my notes,
- Comes with a special CLANG 15 Win64 compiler
– Win64 is a primary OS
– New Clang means support for C++20 and a lot of C++23 features
– Important to have more compatible standards and amazingly faster
– In memory allocation operations, it is 6 to 14% faster than the current CLANG Win64 compiler in C++ Builder
– In unordered map hashing, STL performance is 60 to 70% faster than the current CLANG Win64, and 40 to 70% faster than the current CLANG Win32 in C++ Builder - Comes with a new Visual Assist in the IDE
– Fast code completion
– Navigation and refactoring
– and more - Debugging will use PDB outputs within the IDE
- VCL and FMX have not adopted yet, this may take time
- This presentation is an early preview, unfiltered and incomplete, they do not promise these features to be in 12.0
Please note that all comments and statements about potential new features are subject to change and should not be relied on until the GA release of a product is available.
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.