Kiểu Modifier trong C++

C ++ cho phép các kiểu dữ liệu char, int và double có các modifier trước chúng. Công cụ sửa đổi được sử dụng để thay đổi ý nghĩa của loại cơ sở sao cho phù hợp hơn với nhu cầu của các tình huống khác nhau.

Các công cụ sửa đổi kiểu dữ liệu được liệt kê ở đây –

    • signed
    • unsigned
    • long
    • short

Các modifier được signed, unsigned, long và short có thể được áp dụng cho các kiểu cơ số nguyên. Ngoài ra, signed và unsigned có thể được áp dụng cho char, và long có thể được áp dụng để tăng gấp đôi.Các modifier được signed và unsigned cũng có thể được sử dụng làm tiền tố cho các modifier short hoặc long . Ví dụ: unsigned long int .

C ++ cho phép ký hiệu viết tắt để khai báo các số nguyên unsigned, short hoặc long . Bạn chỉ có thể sử dụng từ unsigned, short, hoặc long, mà không có int . Nó tự động ngụ ý int . Ví dụ, hai câu lệnh sau đây đều khai báo các biến số nguyên không dấu.

unsigned x;
unsigned int y;
Để hiểu sự khác biệt giữa cách thức các biến số nguyên được ký và unsigned nguyên được giải thích bởi C ++, bạn nên chạy chương trình ngắn sau đây –
#include 
using namespace std;
 
/* This program shows the difference between
   * signed and unsigned integers.
*/
int main() {
   short int i;           // a signed short integer
   short unsigned int j;  // an unsigned short integer

   j = 50000;

   i = j;
   cout << i << " " << j;

   return 0;
}
Khi chương trình này được chạy, sau đây là đầu ra –
-15536 50000
Kết quả trên là vì mẫu bit đại diện cho 50.000 như một số nguyên không dấu ngắn được hiểu là -15,536 bởi một đoạn ngắn.

Loại vòng loại trong C ++

Các loại vòng loại cung cấp thêm thông tin về các biến mà chúng đứng trước.

Sr.No Vòng loại & Ý nghĩa
1 const

Đối tượng của loại const không thể được thay đổi bởi chương trình của bạn trong quá trình thực thi.

2 volatile

Công cụ sửa đổi volatile nói với trình biên dịch rằng giá trị của biến có thể được thay đổi theo các cách không được chương trình xác định rõ ràng.

3 restrict

Một con trỏ đủ điều kiện theo restrict ban đầu là phương tiện duy nhất mà đối tượng nó trỏ đến có thể được truy cập. Chỉ C99 mới thêm một loại vòng loại mới được gọi là giới hạn.

Hằng số C ++ / Literals

Hằng số tham chiếu đến các giá trị cố định mà chương trình có thể không thay đổi và chúng được gọi là chữ .

Các hằng số có thể là bất kỳ kiểu dữ liệu cơ bản nào và có thể được chia thành các số nguyên, các chữ số dấu phẩy động, các ký tự, các chuỗi và các giá trị Boolean.

Một lần nữa, các hằng số được xử lý giống như các biến thông thường ngoại trừ các giá trị của chúng không thể được sửa đổi sau định nghĩa của chúng.

Integer Literals

Một chữ số nguyên có thể là một số thập phân, bát phân hoặc hằng số thập lục phân. Tiền tố chỉ định cơ sở hoặc cơ số: 0x hoặc 0X cho hệ thập lục phân, 0 cho bát phân và không có gì cho thập phân.

Một số nguyên nghĩa đen cũng có thể có hậu tố là kết hợp của U và L, tương ứng với dấu và dài. Hậu tố có thể là chữ hoa hoặc chữ thường và có thể theo thứ tự bất kỳ.

Dưới đây là một số ví dụ về các chữ số nguyên –

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix
Sau đây là các ví dụ khác về các loại chữ số nguyên –
85         // decimal
0213       // octal
0x4b       // hexadecimal
30         // int
30u        // unsigned int
30l        // long
30ul       // unsigned long

Dấu phẩy động

Một chữ phẩy động có một phần số nguyên, một dấu thập phân, một phần phân số và một phần số mũ. Bạn có thể biểu diễn các chữ số dấu phẩy động theo dạng thập phân hoặc dạng số mũ.

Trong khi biểu diễn bằng cách sử dụng dạng thập phân, bạn phải bao gồm dấu thập phân, số mũ hoặc cả hai và trong khi biểu diễn bằng dạng số mũ, bạn phải bao gồm phần nguyên, phần phân số hoặc cả hai. Số mũ đã ký được giới thiệu bởi e hoặc E.

Dưới đây là một số ví dụ về các dấu phẩy động –

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

Boolean Literals

Có hai chữ Boolean và chúng là một phần của từ khóa C ++ chuẩn –

  • Giá trị của true thể hiện đúng.
  • Giá trị sai biểu thị sai.

Bạn không nên xem xét giá trị của true bằng 1 và giá trị của false bằng 0.

Chữ ký tự

Ký tự chữ cái được kèm theo trong dấu nháy đơn. Nếu chữ bắt đầu bằng chữ L (chỉ chữ hoa), thì chữ này có ký tự rộng (ví dụ: L’x ‘) và phải được lưu trong loại biến wchar_t . Nếu không, nó là ký tự hẹp (ví dụ, ‘x’) và có thể được lưu trữ trong một biến đơn giản của kiểu char .

Ký tự chữ có thể là ký tự đơn giản (ví dụ: ‘x’), một chuỗi thoát (ví dụ: ‘\ t’) hoặc ký tự phổ quát (ví dụ: ‘\ u02C0’).

Có một số ký tự trong C ++ khi chúng được bắt đầu bằng dấu gạch chéo ngược chúng sẽ có ý nghĩa đặc biệt và chúng được sử dụng để biểu diễn như dòng mới (\ n) hoặc tab (\ t). Ở đây, bạn có danh sách một số mã chuỗi thoát như vậy –

Trình tự thoát Ý nghĩa
\\ \ tính cách
\ ‘ ‘ tính cách
\ “ ” tính cách
\? ? tính cách
\ a Cảnh báo hoặc chuông
\ b Backspace
\ f Thức ăn dạng
\ n Dòng mới
\ r Vận chuyển trở lại
\ t Tab ngang
\ v Tab dọc
\ ooo Số thập phân từ một đến ba chữ số
\ xhh. . . Số thập lục phân của một hoặc nhiều chữ số

Sau đây là ví dụ để hiển thị một vài ký tự chuỗi thoát –

#include 
using namespace std;

int main() {
   cout &lt;&lt; "Hello\tWorld\n\n";
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
Hello   World

Chuỗi ký tự

Chuỗi literals được kèm theo trong dấu ngoặc kép. Một chuỗi chứa các ký tự tương tự với các ký tự chữ: các ký tự đơn giản, các chuỗi thoát và các ký tự phổ quát.

Bạn có thể chia một đường dài thành nhiều dòng bằng cách sử dụng các chuỗi ký tự và tách chúng bằng cách sử dụng các khoảng trắng.

Dưới đây là một số ví dụ về chuỗi ký tự. Cả ba hình thức đều giống hệt nhau.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Xác định hằng số

Có hai cách đơn giản trong C ++ để xác định hằng số –

  • Sử dụng #define preprocessor.
  • Sử dụng từ khóa const .

Trình xử lý trước #define

Sau đây là biểu mẫu để sử dụng bộ xử lý trước #define để xác định hằng số –

#define identifier value
Ví dụ sau giải thích chi tiết –
#include 
using namespace std;

int main() {
   cout &lt;&lt; "Hello\tWorld\n\n";
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
50

Từ khóa const

Bạn có thể sử dụng tiền tố const để khai báo hằng số với một kiểu cụ thể như sau:

const type variable = value;
Ví dụ sau giải thích chi tiết –
#include 
using namespace std;

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   cout &lt;&lt; area;
   cout &lt;&lt; NEWLINE;
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
50
Lưu ý rằng đó là một thực hành lập trình tốt để xác định hằng số trong CAPITALS.

Phạm vi biến trong C ++

Phạm vi là một khu vực của chương trình và nói rộng rãi có ba địa điểm, nơi các biến có thể được khai báo –

  • Bên trong một hàm hoặc một khối được gọi là biến cục bộ,
  • Trong định nghĩa các tham số hàm được gọi là các tham số chính thức.
  • Bên ngoài tất cả các hàm được gọi là biến toàn cục.

Chúng ta sẽ học hàm là gì và tham số của nó trong các chương tiếp theo. Ở đây chúng ta hãy giải thích các biến cục bộ và toàn cầu là gì.

Biến cục bộ

Các biến được khai báo bên trong một hàm hoặc khối là các biến cục bộ. Chúng chỉ có thể được sử dụng bởi các câu lệnh bên trong hàm đó hoặc khối mã. Các biến cục bộ không được biết đến với các hàm bên ngoài của chúng. Sau đây là ví dụ sử dụng biến cục bộ –

#include 
using namespace std;
 
int main () {
   // Local variable declaration:
   int a, b;
   int c;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout &lt;&lt; c;
 
   return 0;
}

Biến toàn cục

Các biến toàn cầu được định nghĩa bên ngoài tất cả các hàm, thường là trên đầu chương trình. Các biến toàn cầu sẽ giữ giá trị của chúng trong suốt thời gian sống của chương trình của bạn.

Một biến toàn cục có thể được truy cập bởi bất kỳ hàm nào. Đó là, một biến toàn cầu có sẵn để sử dụng trong toàn bộ chương trình của bạn sau khi nó được khai báo. Sau đây là ví dụ sử dụng biến cục bộ và cục bộ –

#include 
using namespace std;
 
// Global variable declaration:
int g;
 
int main () {
   // Local variable declaration:
   int a, b;
 
   // actual initialization
   a = 10;
   b = 20;
   g = a + b;
  
   cout &lt;&lt; g;
 
   return 0;
}
Một chương trình có thể có cùng tên cho các biến cục bộ và toàn cầu nhưng giá trị của biến cục bộ bên trong một hàm sẽ được ưu tiên. Ví dụ –
#include 
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main () {
   // Local variable declaration:
   int g = 10;
 
   cout &lt;&lt; g;
 
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
10

Khởi tạo biến cục bộ và toàn cầu

Khi một biến cục bộ được định nghĩa, nó không được khởi tạo bởi hệ thống, bạn phải tự khởi tạo nó. Các biến toàn cục được khởi tạo tự động bởi hệ thống khi bạn định nghĩa chúng như sau:

Loại dữ liệu Trình khởi tạo
int 0
char ‘\ 0’
float 0
double 0
pointer VÔ GIÁ TRỊ

Đó là một thực hành lập trình tốt để khởi tạo các biến đúng cách, nếu không đôi khi chương trình sẽ tạo ra kết quả không mong muốn.

Không gian Metric và Topo đại cương

1. Định nghĩa Metric và không gian Metric

Cho $X\neq \varnothing $, d là ánh xạ từ:  $X^{2}\rightarrow R$
                                         $ \left ( x,y \right )\in X^{2}\rightarrow d\left ( x,y \right )\in R$
thỏa mãn 3 tiên đề sau :
   1/ $d\left ( x,y \right )\geq 0$ với mọi $x,y\in X$
        $d\left ( x,y \right )=0\Leftrightarrow x=y$
   2/ $d\left ( x,y \right )=d\left ( y,x \right )$ với mọi $x,y\in X$
   3/  $d\left ( x,y \right )\leq d\left ( x,z \right )+d\left (z,y  \right )$ với mọi  $x,y,z\in X$
 ánh xạ d được gọi là Metric trên X.
Một tập X được trang bị một Metric thì gọi là Không gian Metric $M=\left ( X,d \right )$, với $d\left ( x,y \right )$ được gọi là khoảng cách từ điểm x đến điểm y. Phần tử trong không gian Metric gọi là các điểm.

2. Một số tính chất đơn giản.

  Tính chất 1: Giả sử $\left ( X,d \right )$ là không gian Metric, $x_{1},x_{2},…,x_{n}\in X$ khi đó :
    $d\left ( x_{1},x_{n} \right )\leq d\left ( x_{1} ,x_{2}\right )+d\left ( x_{2},x_{3} \right )+…+d\left ( x_{n-1},x_{n} \right )$
  Tính chất 2: Với bốn điểm $x,y,u,v\in X$ khi đó :
        $ \left | d\left ( \left ( x,y \right ) \right ) -d\left ( u,v \right )\right |\leq d\left ( x,u \right )+d\left ( y,v \right )$
  Tính chất 3: Giả sử $x,y,u\in X$ khi đó:
       $ \left | d\left ( x,u \right )-d\left ( y,u \right ) \right |\leq d\left ( x,y \right )$

3. Một số ví dụ chứng minh Không gian Metric.

 Ví dụ 1: Cho $X=R$, với mọi $x,y\in R, d\left ( x,y \right )=\left | x-y \right |$. Kiểm tra xem $\left( X,d \right)$ là một không gian Metric.
 Bài giải :
 Ta đi kiểm tra 3 tiên đề
  1, Ta có $d\left ( x,y \right )= \left |x-y  \right |\geq 0$
       Giả sử $d\left ( x,y \right )=0 \Leftrightarrow \left |x-y  \right |= 0\Leftrightarrow x=y$
                      $ \Rightarrow d\left ( x,y \right )\Leftrightarrow x=y$
  2, Với mọi $x,y\in R, d\left ( x,y \right )=\left | x-y \right |=\left | \left ( -1 \right )\left ( y-x \right ) \right |=\left | \left ( -1 \right ) \right |\left | y-x \right |=d\left ( y,x \right )$
                       $\Rightarrow  d\left ( x,y \right )=d\left ( y,x \right )$
  3, Với mọi  $x,y,z\in R$ , ta có :
       $d\left ( x,y \right )=\left | x-y \right |=\left | x-z+z-y \right |\leq \left | x-z \right |+\left | z-y \right |=d\left ( x,z \right )+d\left ( z,y \right )$
                       $\Rightarrow d\left ( x,y \right )\leq d\left (x,z\right )+d\left ( z,y \right )$
 Vậy $\left ( R,d \right )$ là một không gian Metric.
Một số ví dụ tương tự ví dụ 1 
 Ví dụ 2: Cho $X=R^{n}$, với mọi  $x\in X, x=\left ( x_{1},x_{2},…,x_{n} \right )$
                                                            $y\in Y, y= \left ( y_{1},y_{2},…,y_{n} \right )$
               Đặt $d\left ( x,y \right )=\left ( \sum_{i=1}^{n}\left ( x_{i}-y_{j} \right )^{2} \right )^{\frac{1}{2}}$
          Chứng minh rằng: $\left ( X,d \right )$ là một không gian Metric.
Ví dụ 3: Cho $X\neq \varnothing $, ta định nghĩa: $d\left ( x,y \right )=\left\{\begin{matrix}
 1, x\neq y& \\0,x=y&
\end{matrix}\right.$
              Chứng minh rằng: $\left ( X,d \right )$ là một không gian Metric

Các loại biến trong C ++

Một biến cung cấp cho chúng ta lưu trữ có tên là các chương trình của chúng ta có thể thao tác. Mỗi biến trong C ++ có một kiểu cụ thể, xác định kích cỡ và bố cục của bộ nhớ của biến; phạm vi của các giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các hoạt động có thể được áp dụng cho biến.

Tên của một biến có thể bao gồm các chữ cái, chữ số và ký tự gạch dưới. Nó phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. Chữ hoa và chữ thường khác biệt vì C ++ phân biệt chữ hoa chữ thường –

Có các loại biến cơ bản sau trong C ++ như được giải thích trong chương trước

Sr.No Loại & mô tả
1 bool

Lưu trữ giá trị đúng hoặc sai.

2 char

Thông thường một octet đơn (một byte). Đây là một loại số nguyên.

3 int

Kích thước tự nhiên nhất của số nguyên cho máy.

4 float

Giá trị dấu phẩy động chính xác đơn.

5 double

Giá trị dấu phẩy động kép chính xác.

6 void

Đại diện cho sự vắng mặt của loại.

7 wchar_t

Một loại ký tự rộng.

C ++ cũng cho phép xác định các loại biến khác nhau, chúng tôi sẽ đề cập đến trong các chương tiếp theo như Liệt kê, Con trỏ, Mảng, Tham chiếu, Cấu trúc dữ liệu và Lớp học .

Phần sau sẽ bao gồm cách xác định, khai báo và sử dụng các loại biến khác nhau.

Biến định nghĩa trong C ++

Một định nghĩa biến cho trình biên dịch biết đâu và dung lượng lưu trữ để tạo ra biến đó. Một định nghĩa biến xác định một kiểu dữ liệu và chứa một danh sách của một hoặc nhiều biến kiểu đó như sau:

type variable_list;
Ở đây, type phải là kiểu dữ liệu C ++ hợp lệ bao gồm char, w_char, int, float, double, bool hoặc bất kỳ đối tượng do người dùng xác định, v.v. và variable_list có thể bao gồm một hoặc nhiều tên định danh được phân tách bằng dấu phẩy. Một số khai báo hợp lệ được hiển thị ở đây –
int    i, j, k;
char   c, ch;
float  f, salary;
double d;
Dòng int i, j, k; cả hai khai báo và định nghĩa các biến i, j và k; hướng dẫn trình biên dịch tạo các biến có tên là i, j và k của kiểu int.

Các biến có thể được khởi tạo (gán một giá trị ban đầu) trong khai báo của chúng. Trình khởi tạo bao gồm một dấu bằng, theo sau là một biểu thức liên tục như sau:

type variable_name = value;
Một số ví dụ là –
extern int d = 3, f = 5;    // declaration of d and f. 
int d = 3, f = 5;           // definition and initializing d and f. 
byte z = 22;                // definition and initializes z. 
char x = 'x';               // the variable x has the value 'x'.
Đối với định nghĩa không có bộ khởi tạo: các biến có thời gian lưu trữ tĩnh được khởi tạo ngầm với NULL (tất cả các byte có giá trị 0); giá trị ban đầu của tất cả các biến khác là không xác định.

Tuyên bố biến trong C ++

Một khai báo biến cung cấp sự đảm bảo cho trình biên dịch rằng có một biến tồn tại với kiểu và tên đã cho để trình biên dịch tiến hành biên dịch thêm mà không cần chi tiết đầy đủ về biến. Một khai báo biến có ý nghĩa của nó tại thời điểm biên dịch chỉ, trình biên dịch cần định nghĩa biến thực sự tại thời điểm liên kết của chương trình.

Một khai báo biến hữu ích khi bạn đang sử dụng nhiều tệp và bạn xác định biến của mình trong một trong các tệp sẽ có sẵn tại thời điểm liên kết của chương trình. Bạn sẽ sử dụng từ khóa bên  extern để khai báo biến ở bất kỳ nơi nào. Mặc dù bạn có thể khai báo một biến nhiều lần trong chương trình C ++ của bạn, nhưng nó có thể được định nghĩa chỉ một lần trong một tệp, một hàm hoặc một khối mã.

Thí dụ

Hãy thử ví dụ sau, nơi một biến đã được khai báo ở trên cùng, nhưng nó đã được định nghĩa bên trong hàm main –

#include <iostream>
using namespace std;

// Variable declaration:
extern int a, b;
extern int c;
extern float f;
  
int main () {
   // Variable definition:
   int a, b;
   int c;
   float f;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c << endl ;

   f = 70.0/3.0;
   cout << f << endl ;
 
   return 0;
}
Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:
30
23.3333
Cùng một khái niệm được áp dụng trên khai báo hàm, trong đó bạn cung cấp tên hàm tại thời điểm khai báo và định nghĩa thực tế của nó có thể được đưa ra ở bất kỳ nơi nào khác. Ví dụ –
// function declaration
int func();
int main() {
   // function call
   int i = func();
}

// function definition
int func() {
   return 0;
}

Lvalues ​​và Rvalues

Có hai loại biểu thức trong C ++ –

  • lvalue – Các biểu thức tham chiếu đến một vị trí bộ nhớ được gọi là biểu thức “lvalue”. Một giá trị có thể xuất hiện ở bên trái hoặc bên tay phải của một nhiệm vụ.
  • rvalue – Giá trị rvalue đề cập đến một giá trị dữ liệu được lưu trữ tại một số địa chỉ trong bộ nhớ. Một rvalue là một biểu thức mà không thể có một giá trị được gán cho nó có nghĩa là một rvalue có thể xuất hiện ở bên phải nhưng không phải bên trái của một nhiệm vụ.

Các biến là các giá trị và do đó có thể xuất hiện ở phía bên trái của một nhiệm vụ. Chữ số là giá trị và do đó có thể không được gán và không thể xuất hiện ở phía bên tay trái. Sau đây là một tuyên bố hợp lệ –

int g = 20;
Nhưng sau đây không phải là một tuyên bố hợp lệ và sẽ tạo ra lỗi thời gian biên dịch –
10 = 20;

Kiểu dữ liệu C ++

Trong khi viết chương trình bằng bất kỳ ngôn ngữ nào, bạn cần phải sử dụng các biến khác nhau để lưu trữ thông tin khác nhau. Các biến không là gì ngoài các vị trí bộ nhớ dành riêng để lưu trữ các giá trị. Điều này có nghĩa là khi bạn tạo một biến, bạn dành một số khoảng trống trong bộ nhớ.

Bạn có thể lưu trữ thông tin của các kiểu dữ liệu khác nhau như ký tự, ký tự rộng, số nguyên, dấu chấm động, dấu phẩy động kép, boolean vv. Dựa trên kiểu dữ liệu của một biến, hệ điều hành phân bổ bộ nhớ và quyết định những gì có thể được lưu trữ trong bộ nhớ dành riêng.

Các kiểu dựng sẵn nguyên thủy
C ++ cung cấp cho người lập trình một loại phong phú các kiểu dữ liệu được xây dựng sẵn cũng như người dùng định nghĩa. Bảng sau liệt kê 7 kiểu dữ liệu C ++ cơ bản –

Type Keyword
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t

Một số loại cơ bản có thể được sửa đổi bằng cách sử dụng một hoặc nhiều loại công cụ sửa đổi loại này –

  • signed
  • unsigned
  • short
  • long

Bảng sau đây cho thấy loại biến, bao nhiêu bộ nhớ để lưu trữ giá trị trong bộ nhớ, và giá trị tối đa và tối thiểu có thể được lưu trữ trong loại biến đó là gì.

Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255
unsigned char 1byte 0 to 255
signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647
unsigned int 4bytes 0 to 4294967295
signed int 4bytes -2147483648 to 2147483647
short int 2bytes -32768 to 32767
unsigned short int Range 0 to 65,535
signed short int Range -32768 to 32767
long int 4bytes -2,147,483,648 to 2,147,483,647
signed long int 4bytes same as long int
unsigned long int 4bytes 0 to 4,294,967,295
float 4bytes +/- 3.4e +/- 38 (~7 digits)
double 8bytes +/- 1.7e +/- 308 (~15 digits)
long double 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t 2 or 4 bytes 1 wide character

Kích thước của các biến có thể khác với các biến được hiển thị trong bảng trên, tùy thuộc vào trình biên dịch và máy tính bạn đang sử dụng.

Sau đây là ví dụ, sẽ tạo ra kích thước chính xác của các loại dữ liệu khác nhau trên máy tính của bạn.

#include &lt;iostream&gt;
using namespace std;

int main() {
cout &lt;&lt; "Size of char : " &lt;&lt; sizeof(char) &lt;&lt; endl;
cout &lt;&lt; "Size of int : " &lt;&lt; sizeof(int) &lt;&lt; endl;
cout &lt;&lt; "Size of short int : " &lt;&lt; sizeof(short int) &lt;&lt; endl;
cout &lt;&lt; "Size of long int : " &lt;&lt; sizeof(long int) &lt;&lt; endl;
cout &lt;&lt; "Size of float : " &lt;&lt; sizeof(float) &lt;&lt; endl;
cout &lt;&lt; "Size of double : " &lt;&lt; sizeof(double) &lt;&lt; endl;
cout &lt;&lt; "Size of wchar_t : " &lt;&lt; sizeof(wchar_t) &lt;&lt; endl;

return 0;
}
Ví dụ này sử dụng endl , chèn một ký tự dòng mới sau mỗi dòng và toán tử << đang được sử dụng để truyền nhiều giá trị ra màn hình. Chúng tôi cũng đang sử dụng toán tử sizeof () để có được kích thước của các kiểu dữ liệu khác nhau.

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau có thể thay đổi từ máy này sang máy khác –

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
typedef Tuyên bố
Bạn có thể tạo tên mới cho loại hiện có bằng typedef . Sau đây là cú pháp đơn giản để định nghĩa một kiểu mới bằng typedef –

typedef type newname;
Ví dụ, sau đây nói với trình biên dịch rằng bàn chân là một tên khác cho int –

typedef int feet;
Bây giờ, khai báo sau đây là hoàn toàn hợp pháp và tạo ra một biến số nguyên gọi là khoảng cách –

feet distance;
Các loại được liệt kê
Một kiểu liệt kê khai báo một tên kiểu tùy chọn và một tập hợp số không hoặc nhiều định danh có thể được sử dụng như các giá trị của kiểu. Mỗi điều tra viên là một hằng số có kiểu là kiểu liệt kê.

Việc tạo một liệt kê yêu cầu sử dụng từ khóa enum . Dạng chung của kiểu liệt kê là –

enum enum-name { list of names } var-list;
Ở đây, tên enum là tên kiểu của liệt kê. Danh sách các tên được phân cách bằng dấu phẩy.

Ví dụ, đoạn mã sau định nghĩa một kiểu liệt kê các màu được gọi là màu sắc và biến c của loại màu. Cuối cùng, c được gán giá trị “blue”.

enum color { red, green, blue } c;
c = blue;
Theo mặc định, giá trị của tên đầu tiên là 0, tên thứ hai có giá trị 1 và giá trị thứ ba có giá trị 2, v.v. Nhưng bạn có thể đặt tên, một giá trị cụ thể bằng cách thêm một bộ khởi tạo. Ví dụ, trong liệt kê sau, màu xanh lá cây sẽ có giá trị 5.

enum color { red, green = 5, blue };
Ở đây, màu xanh sẽ có giá trị là 6 vì mỗi tên sẽ lớn hơn một cái đứng trước nó.

Comments trong C++

Các chú thích chương trình là các câu lệnh giải thích mà bạn có thể đưa vào trong mã C ++. Những nhận xét này giúp mọi người đọc mã nguồn. Tất cả các ngôn ngữ lập trình đều cho phép một số dạng nhận xét.

C ++ hỗ trợ nhận xét một dòng và nhiều dòng. Tất cả các ký tự có sẵn bên trong bất kỳ bình luận nào đều bị bỏ qua bởi trình biên dịch C ++.

Các chú thích C ++ bắt đầu bằng / * và kết thúc bằng * /. Ví dụ –

/* This is a comment */

/* C++ comments can also
   * span multiple lines
*/
Nhận xét cũng có thể bắt đầu bằng //, mở rộng đến cuối dòng. Ví dụ –
#include 
using namespace std;

main() {
   cout &lt;&lt; "Hello World"; // prints Hello World
   
   return 0;
}
 

Khi mã trên được biên dịch, nó sẽ bỏ qua // bản in Hello World và bản thực thi cuối cùng sẽ tạo ra kết quả sau:

Hello World
Trong một / * và * / chú thích, // các ký tự không có ý nghĩa đặc biệt. Trong // nhận xét, / * và * / không có ý nghĩa đặc biệt. Vì vậy, bạn có thể “làm tổ” một loại bình luận trong loại khác. Ví dụ –
/* Comment out printing of Hello World:

cout &lt;&lt; "Hello World"; // prints Hello World

*/