Shaylee  Lemke

Shaylee Lemke

1598796060

Features of C++17 with Examples

C++17 enables writing simple, clearer, and more expressive code. Some of the features introduced in C++17 are:

  • Nested Namespaces
  • Variable declaration in if and switch
  • if constexpr statement
  • Structured bindings
  • Fold Expressions
  • Direct list initialization of enums

Nested Namespaces

Namespaces are a very convenient tool to organize and to structure the code base, putting together components like classes and functions that logically belong to the same group.

Let’s consider a hypothetical code base of a video game engine. Here, defined a namespace for the whole game engine, so all the classes and the functions implemented in this Game Engine will be declared under this common namespace. To do more clear definitions you can define another namespace under the global namespace lets say Graphics which is a sub-namespace, now put all classes that perform graphics operations under that namespace and so on.

  • Before C++17:
  • Below is the syntax used for nested namespace:
// Below is the syntax for using 
// the nested namespace 

namespace Game { 

    namespace Graphics { 

        namespace Physics { 

           class 2D { 
              .......... 
           }; 
        } 
    } 
} 
  • When C++17:
  • Before C++17 you have to use this verbose syntax for declaring classes in nested namespaces, but C++17 has introduced a new feature that makes it possible to open nested namespaces without this hectic syntax that require repeated namespace keyword and keeping track of opening and closing braces. In C++17 there a simple and concise syntax using double colons to introduce nested namespaces. The syntax is as follows:
// Below is the syntax to use the 
// nested namespace in one line 

namespace Game::Graphics::Physics { 

    class 2D { 
       .......... 
    }; 
} 
  • This makes the code less error-prone as there is no need to pay attention to several levels of braces.

#c++ #cplusplus #programming-c #c++17

What is GEEK

Buddha Community

Features of C++17 with Examples
Shaylee  Lemke

Shaylee Lemke

1598796060

Features of C++17 with Examples

C++17 enables writing simple, clearer, and more expressive code. Some of the features introduced in C++17 are:

  • Nested Namespaces
  • Variable declaration in if and switch
  • if constexpr statement
  • Structured bindings
  • Fold Expressions
  • Direct list initialization of enums

Nested Namespaces

Namespaces are a very convenient tool to organize and to structure the code base, putting together components like classes and functions that logically belong to the same group.

Let’s consider a hypothetical code base of a video game engine. Here, defined a namespace for the whole game engine, so all the classes and the functions implemented in this Game Engine will be declared under this common namespace. To do more clear definitions you can define another namespace under the global namespace lets say Graphics which is a sub-namespace, now put all classes that perform graphics operations under that namespace and so on.

  • Before C++17:
  • Below is the syntax used for nested namespace:
// Below is the syntax for using 
// the nested namespace 

namespace Game { 

    namespace Graphics { 

        namespace Physics { 

           class 2D { 
              .......... 
           }; 
        } 
    } 
} 
  • When C++17:
  • Before C++17 you have to use this verbose syntax for declaring classes in nested namespaces, but C++17 has introduced a new feature that makes it possible to open nested namespaces without this hectic syntax that require repeated namespace keyword and keeping track of opening and closing braces. In C++17 there a simple and concise syntax using double colons to introduce nested namespaces. The syntax is as follows:
// Below is the syntax to use the 
// nested namespace in one line 

namespace Game::Graphics::Physics { 

    class 2D { 
       .......... 
    }; 
} 
  • This makes the code less error-prone as there is no need to pay attention to several levels of braces.

#c++ #cplusplus #programming-c #c++17

Generics type example in C# | Generic Class | Generic Method | C# Tutorial | Advanced C#

https://youtu.be/xfDjyg9jKSk

#oop in c# #object oriented programming in c# #object oriented concept in c# #learn oop concept #advance c# #generics type example in c#

Tamale  Moses

Tamale Moses

1624240146

How to Run C/C++ in Sublime Text?

C and C++ are the most powerful programming language in the world. Most of the super fast and complex libraries and algorithms are written in C or C++. Most powerful Kernel programs are also written in C. So, there is no way to skip it.

In programming competitions, most programmers prefer to write code in C or C++. Tourist is considered the worlds top programming contestant of all ages who write code in C++.

During programming competitions, programmers prefer to use a lightweight editor to focus on coding and algorithm designing. VimSublime Text, and Notepad++ are the most common editors for us. Apart from the competition, many software developers and professionals love to use Sublime Text just because of its flexibility.

I have discussed the steps we need to complete in this blog post before running a C/C++ code in Sublime Text. We will take the inputs from an input file and print outputs to an output file without using freopen file related functions in C/C++.

#cpp #c #c-programming #sublimetext #c++ #c/c++

Dicey Issues in C/C++

If you are familiar with C/C++then you must have come across some unusual things and if you haven’t, then you are about to. The below codes are checked twice before adding, so feel free to share this article with your friends. The following displays some of the issues:

  1. Using multiple variables in the print function
  2. Comparing Signed integer with unsigned integer
  3. Putting a semicolon at the end of the loop statement
  4. C preprocessor doesn’t need a semicolon
  5. Size of the string matters
  6. Macros and equations aren’t good friends
  7. Never compare Floating data type with double data type
  8. Arrays have a boundary
  9. Character constants are different from string literals
  10. Difference between single(=) and double(==) equal signs.

The below code generates no error since a print function can take any number of inputs but creates a mismatch with the variables. The print function is used to display characters, strings, integers, float, octal, and hexadecimal values onto the output screen. The format specifier is used to display the value of a variable.

  1. %d indicates Integer Format Specifier
  2. %f indicates Float Format Specifier
  3. %c indicates Character Format Specifier
  4. %s indicates String Format Specifier
  5. %u indicates Unsigned Integer Format Specifier
  6. %ld indicates Long Int Format Specifier

Image for post


A signed integer is a 32-bit datum that encodes an integer in the range [-2147483648 to 2147483647]. An unsigned integer is a 32-bit datum that encodes a non-negative integer in the range [0 to 4294967295]. The signed integer is represented in twos-complement notation. In the below code the signed integer will be converted to the maximum unsigned integer then compared with the unsigned integer.

Image for post

#problems-with-c #dicey-issues-in-c #c-programming #c++ #c #cplusplus

C++ Crash Course - Switch Statement Example In C++

In this C++ Crash Course video iam going to talk about C++ Switch Statement Example , so switch statement is used when we have multiple conditions and we need to perform different action based on the condition. For example if we have different conditions and we want to execute a block of code based on certain condition. In that case we need to use switch statement. Also you can use else if condition, but it is good idea if you have multiple conditions you can use switch statement.

Youtube channel: Parwiz Forogh - https://www.youtube.com/watch?v=aSbhRy59XlI

#c #c# #c++ #programming-c