Sunday, January 19, 2020

C++ Storage Classes

January 19, 2020 0
The storage class is used to specify control of two different properties: storage lifetime and scope(visibility) of variables.

Following storage classes can be used in a C++ Program:
  • Automatic
  • External
  • Static
  • Register

  • Automatic(auto) Storage Class

    Variable defined within the function body are called auto variable. The auto storage class is used to declare automatic variables, which is also called local variables.
    Example:
    auto int a, b, c = 100;
    is the same as:
    int a, b, c = 100;

    The External Storage Class

    External variables are defined outside of the function. Once External variable declared, the variable can be used in any line of codes throughout the rest of the program.
    The extern modifier is most commonly used when two or more C++ files are sharing the same global variables or functions.
    First File : main.cpp
    Example:
    #include <iostream>
    #include "file.cpp"
    int count ;
    extern void write_extern();
     
    main()
    {
       count = 5;
       write_extern();
       system("PAUSE");
    }
    Second File : file.cpp
    Example:
    #include <iostream>
    extern int count;
     
    void write_extern(void)
    {
       std::cout << "Count is " << count << std::endl;
    }
    Program Output:
    cplusplus-External-Storage-Class

Data Types in C++

January 19, 2020 0
Data types in any of the language mean that what are the various type of data the variables can have in that particular language. Information is stored in computer memory with different data types. Whenever a variable is declared it becomes necessary to define a data type that what will be the type of data that variable can hold. 
Data Types available in C++:
  1. Primary(Built-in) Data Types:
    • character
    • integer
    • floating point
    • boolean
    • double floating point
    • void
    • wide character
  2. User Defined Data Types:
    • Structure
    • Union
    • Class
    • Enumeration
  3. Derived Data Types:
    • Array
    • Function
    • Pointer
    • Reference
Both C and C++ compilers support the fundamental, i.e., the built-in data types. Taking void as an exception the basic data types may have several modifiers, and these modifiers are used to serve the data types in various situations.
The lists of modifiers used in C++ are:
  • signed
  • unsigned
  • long
  • short

Character Data Types

Data Type (Keywords)DescriptionSizeTypical Range
char Any single character. It may include a letter, a digit, a punctuation mark, or a space.1 byte-128 to 127 or 0 to 255
signed char Signed character.1 byte-128 to 127
unsigned char Unsigned character.1 byte0 to 255
wchar_t Wide character.2 or 4 bytes1 wide character

Integer Data Types

Data Type (Keywords)DescriptionSizeTypical Range
int Integer.4 bytes-2147483648 to 2147483647
signed int Signed integer. Values may be negative, positive, or zero.4 bytes-2147483648 to 2147483647
unsigned int Unsigned integer. Values are always positive or zero. Never negative.4 bytes0 to 4294967295
short Short integer.2 bytes-32768 to 32767
signed short Signed short integer. Values may be negative, positive, or zero.2 bytes-32768 to 32767
unsigned short Unsigned short integer. Values are always positive or zero. Never negative.2 bytes0 to 65535
long Long integer.4 bytes-2147483648 to 2147483647
signed long Signed long integer. Values may be negative, positive, or zero.4 bytes-2147483648 to 2147483647
unsigned long Unsigned long integer. Values are always positive or zero. Never negative.4 bytes0 to 4294967295

Floating-point Data Types

Data Type (Keywords)DescriptionSizeTypical Range
float Floating point number. There is no fixed number of digits before or after the decimal point.4 bytes+/- 3.4e +/- 38 (~7 digits)
double Double precision floating point number. More accurate compared to float.8 bytes+/- 1.7e +/- 308 (~15 digits)
long double Long double precision floating point number.8 bytes+/- 1.7e +/- 308 (~15 digits)

Boolean Data Type

Data Type (Keywords)DescriptionSizeTypical Range
bool Boolean value. It can only take one of two values: true or false.1 bytetrue or false
Variables sizes might be different in your PC from those shown in the above table, depending on the compiler you are using.

Below example will produce the correct size of various data type, on your computer.

Example:
#include <iostream>
using namespace std;

int main() {
 cout << "Size of char is " << sizeof(char) << endl;
 cout << "Size of int is " << sizeof(int) << endl;
 cout << "Size of float is " << sizeof(float) << endl;
 cout << "Size of short int is " << sizeof(short int) << endl;
 cout << "Size of long int is " << sizeof(long int) << endl;
 cout << "Size of double is " << sizeof(double) << endl;
 cout << "Size of wchar_t is " << sizeof(wchar_t) << endl;
 return 0;
}
Program Output:
Size of char is 1

Size of int is 4

Size of float is 4

Size of short int is 2

Size of long int is 4

Size of double is 8

Size of wchar_t is 4

Enum Data Type

This is a user-defined data type having a finite set of enumeration constants. The keyword 'enum' is used to create an enumerated data type.
Syntax:
enum enum-name {list of names}var-list;
enum mca(software, internet, seo);

Typedef

It is used to create a new data type. But it is commonly used to change the existing data type with another name.
Syntax:
typedef [data_type] synonym;

or
typedef [data_type] new_data_type;
Example:
typedef int integer;
integer rollno;

Saturday, January 18, 2020

Operators in C++

January 18, 2020 0
C++ operator is a symbol that is used to perform mathematical or logical manipulations. C++ language is rich with built-in operators. 

Arithmetic Operators

OperatorDescription
+Addition
-Subtraction
*Multiplication
/Division
%Modulus

Increment and Decrement Operators

OperatorDescription
++Increment
−−Decrement

Relational Operators

OperatorDescription
==Is equal to
!=Is not equal to
>Greater than
<Less than
>=Greater than or equal to
<=Less than or equal to

Logical Operators

OperatorDescription
&&And operator. Performs a logical conjunction of two expressions.
(if both expressions evaluate to True, result is True. If either expression evaluates to False, result is False)
||Or operator. Performs a logical disjunction on two expressions.
(if either or both expressions evaluate to True, result is True)
!Not operator. Performs logical negation on an expression.

Bitwise Operators

OperatorDescription
<<Binary Left Shift Operator
>>Binary Right Shift Operator
~Binary One's Complement Operator
&Binary AND Operator
^Binary XOR Operator
|Binary OR Operator

Assignment Operators

OperatorDescription
=Assign
+=Increments, then assigns
-=Decrements, then assigns
*=Multiplies, then assigns
/=Divides, then assigns
%=Modulus, then assigns
<<=Left shift and assigns
>>=Right shift and assigns
&=Bitwise AND assigns
^=Bitwise exclusive OR and assigns
|=Bitwise inclusive OR and assigns

Misc Operators

OperatorDescription
,Comma operator
sizeof()Returns the size of an memory location.
&Returns the address of an memory location.
*Pointer to a variable.
? :Conditional Expression

IMG Scroll Animation (yes/no)

recent/hot-colored