1VOTES VOTE Learn How to Use “Allowing Move Constructors to Throw [Noexcept]” For Windows Development With C++Builder Pabitra Dash The C++11 standard provides an alternative to std::move, which is std::move_if_noexcept, in order to solve some problematic interaction between move constructors, templates and certain standard library member functions. std::move_if_noexcept(x) grants permission to move x unless… … Read more 4 years ago in C++, cbuilder, Code, move constructor, move constructors to throw noexcept, move_if_noexcept, noexcept, windows 0
1VOTES VOTE Learn How To Use C++ Incomplete Return Types In Windows Development Pabitra Dash An incomplete type is a type that describes an identifier but lacks information needed to determine the size of the identifier. An incomplete type can be: A structure type whose members you have not yet… … Read more 4 years ago in C++, cbuilder, Code, Incomplete Return Types, Incomplete Types, learn c++, modern c++, programming, RAD Studio, windows 0
1VOTES VOTE Learn How To Use C++ Extending Sizeof For Windows Development Pabitra Dash Given some class C with a data member m, the current standard makes it ill-formed to refer to m in sizeof expressions without providing an object. For example, uses such as sizeof(C::m) (outside of C) or sizeof(m) (in a static member of C) are ill-formed…. … Read more 4 years ago in C++, cbuilder, Code, Extending sizeof, IDE, learn c++, programming, RAD Studio, sizeof, sizeof operator, windows 0
1VOTES VOTE Learn How To Use C++ Explicit Virtual Overrides In Windows Development Pabitra Dash Regarding virtual overrides, C++11 tends to tighten the rules, so as to detect some problems that often arise. In order to achieve this goal C++11 introduces two new contextual keywords: final specifies that a method cannot… … Read more 4 years ago in C++, cbuilder, Clang, Code, Explicit virtual overrides, Final, learn c++, override, programming, RAD Studio, Virtual, windows 0
1VOTES VOTE Learn An Efficient Way to Use C++ Extern Templates For Robust Windows Development Pabitra Dash Extern templates is a feature supported by both BCC32 and the Clang-enhanced C++ compilers. Using extern templates thus reduces both compilation time and the size of the compiled module. This feature is part of the new C++11… … Read more 4 years ago in C++, cbuilder, Code, Explicit Instantiation and Declaration, extern, extern Template Usage, Extern templates, learn c++, programming, RAD Studio, windows 0
1VOTES VOTE Learn How to Use C++ Bidirectional Fences For Windows Development With C++Builder Pabitra Dash A memory fence/barrier is a class of instructions that enforces memory loads/stores occur in expected order. Different from high level mutexes and atomics, memory fences are hardware dependent. C++11 improves the support for bidirectional fences…. … Read more 4 years ago in bidirectional, Bidirectional Fences, C++, cbuilder, Code, learn c++, memory barrier, memory fence, memory loads, memory stores, modern c++, RAD Studio, windows 0
1VOTES VOTE Learn How To Use C++ Atomic Operations For Windows Development In C++Builder Pabitra Dash C++11 adds atomic types and operations to the standard. Atomic types and operations provide a way of writing multi-threaded applications without using locks. Atomic types are types that encapsulate a value whose access is guaranteed… … Read more 4 years ago in Atomic, Atomic operations, Atomic types, C++, cbuilder, Code, learn c++, programming, race condition, RAD Studio, windows 0
1VOTES VOTE Discover How to Use C++ Alias Templates For Windows Development In C++Builder Pabitra Dash In C++, it is possible to create synonyms that can be used instead of a type name. This is achieved by creating a typedef declaration. This is useful in several cases, such as creating shorter… … Read more 4 years ago in Alias templates, C++, cbuilder, Code, learn c++, programming, RAD Studio, Templates, type aliases 0
1VOTES VOTE Learn How to Use C++ Unicode String Literals For Windows Development With C++Builder Pabitra Dash C++ supports various string and character types, and provides ways to express literal values of each of these types. A string literal represents a sequence of characters that together form a null-terminated string. The characters… … Read more 4 years ago in C++, char16_t, char32_t, Code, learn c++, new character type, programming, RAD Studio, string literals, Unicode string literals, windows 0
1VOTES VOTE Learn How to Use C++ Default Template Arguments for Function Templates On Windows Pabitra Dash Default template arguments are specified in the parameter lists after the = sign. Defaults can be specified for any kind of template parameter (type, non-type, or template), but not to parameter packs. If the default… … Read more 4 years ago in C++, cbuilder, Code, Default template arguments, function templates, ios, learn c++, programming, RAD Studio, template arguments, template parameter, windows 0
1VOTES VOTE Learn How to Use C++ Inline Namespaces For Windows Development In C++Builder Pabitra Dash C++11 standard allows the inline keyword in a namespace-definition. An inline namespace is a namespace that uses the optional keyword inline in its original-namespace-definition. We can see from above example that members of an inline… … Read more 4 years ago in C++, cbuilder, Code, IDE, inline, Inline namespaces, learn c++, namespaces, programming, RAD Studio, windows 0
1VOTES VOTE Learn About Allow Atomics Use In Signal Handlers With C++ For Windows Development In C++Builder Pabitra Dash C++11 allows the use of atomics in signal handlers. The atomics operations library was designed to support several different applications: To communicate between threads in cases in which other synchronization mechanisms such as locks are… … Read more 4 years ago in Allow atomics use in signal handlers, C++, C++ signal handlers, cbuilder, Code, learn c++, lock-free atomic object, programming, RAD Studio, std::sig_atomic_t 0
1VOTES VOTE Learn How to Use C++ Deleted Functions For Windows Development In C++Builder Pabitra Dash A deleted function is a function that contains =delete; in its prototype. This construction, introduced with C++11, indicates that the function may not be used. This construction can be used to forbid the usage of default… … Read more 4 years ago in =delete, C++, cbuilder, Code, Delete Function Definition, Deleted functions, IDE, learn c++, programming, RAD Studio, windows 0
1VOTES VOTE Discover How To Use C++ Explicit Conversion Operators For Efficient Windows Development Pabitra Dash BCC32 includes support for explicit conversion operators, one of the features in the C++11 standard. The explicit constructors and conversion operators are used to avoid implicit conversions to and from a type. You can now… … Read more 4 years ago in C++, C++ Explicit, cbuilder, Code, conversion operators, explicit, Explicit conversion operators, learn c++, operators, programming, RAD Studio 0
1VOTES VOTE Learn How To Employ C++ Initializer Lists For Reliable Windows Development With C++ Builder Pabitra Dash Initializer lists is a feature that has been extended in C++11 standard. An initializer list represents a list of ordered arguments, in curly brackets, that is used to initialize structures, classes and arrays. Until C++… … Read more 4 years ago in Brace-Initialization, C++, cbuilder, Code, Initializer lists, learn c++, programming, Sequence Constructors, STL container, windows 0