Hai Anh Em Typedef Và Define Trong C++

Chúng tôi rất vui mừng được chia sẻ kiến thức sâu sắc về từ khóa Typedef la gi và hi vọng rằng nó sẽ hữu ích cho các bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và chọn lọc từ khóa phù hợp, kèm theo các chiến lược và công cụ hữu ích. Hi vọng rằng thông tin chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật kiến thức mới nhất.

Trong C++ cung cấp cho tất cả những người lập trình 2 từ khóa typedef & define rất quan trọng và phổ thông mà bất kì ai học cũng nên biết và sử dụng nó như một thói quen. Chúng có ưu điểm thế nào mời các bạn xem nội dung bài viết của mình nhé.

Bạn Đang Xem: Hai Anh Em Typedef Và Define Trong C++

Từ khóa typedef

typedef là từ khóa được chấp nhận người dùng thêm tên mới cho kiểu có sẵn với cú pháp như sau:

typedef key_word new_name_use;

Ví dụ:

#include <bits/stdc++.hvàgt; using namespace std; typedef long long ll; typedef double db; typedef unsigned long int uln; int main() { ll val = 100000000; db val1 = 1.1; uli val2 = 1000000000; coutvàlt;<valvàlt;<endl; coutvàlt;<val1vàlt;<endl; coutvàlt;<val2vàlt;<endl; return 0; }

Khi này kiểu tài liệu long long bạn hoàn toàn có thể thay thế bằng ll khi code.

NOTE: bạn hoàn toàn có thể thêm nhiều tên mới cho một kiểu.

Từ khóa typedef có thể thêm tên mới cho class hay struct được không? Các bạn cùng mình xét ví dụ sau đây nhé:

#include <bits/stdc++.hvàgt; using namespace std; class CodeLearn { public: CodeLearn() { coutvàlt;<“Code Learn”<<endl; } }; typedef CodeLearn CL; struct codelearn { void printf() { coutvàlt;<“code learn”<<endl; } }; typedef codelearn cl; int main() { CL CL1; cl cl1; cl1.printf(); return 0; }

Kết quả của Khóa học:

Xem Thêm : Xe tự hành là gì? Tìm hiểu tổng quan về xe tự hành

Code Learn

code learn

Như vậy ta có thể thấy typedef có thể thêm được tên mới cho những kiểu mà người dùng khái niệm (class & struct) và nó giúp tất cả chúng ta dễ ghi nhớ tên của khá nhiều kiểu tài liệu, lớp hay cấu trúc một cách dễ dàng, dễ hiểu và dễ sử dụng hơn. Song song nó cũng giúp giảm đi thời kì code đáng kể đấy.

Một lưu ý nhỏ là cú pháp khi sử dụng typedef không thể thay thế như sau:

typedef new_name_use key_word; lỗi này tuy nhỏ nhưng thành viên mình thấy có thấy nhiều bạn khi mới sử dụng rất hay bị sai.

Từ khóa define

define cũng là một từ khóa được chấp nhận bạn đặt một tên mới cho một kiểu tài liệu, một số hay một hàm với cú pháp như sau:

define new_name_use name_want_swap

Xét ví dụ:

#include <bits/stdc++.hvàgt; using namespace std; #define number int #define loop(i,a,n) for(int i=0 ; ivàlt;n ; i++) #define pub push_back #define pob pop_back int main() { number n; //khai báo biến n kiểu int coutvàlt;<“N = “; cinvàgt;>n; vector <intvàgt; arr; //tạo 1 vector arr kiểu int //tạo giá trị cho những thành phần của vector loop(i,0,n) { arr.pub(i); } arr.pob(); // xóa thành phần cuối cùng của vector arr //in ra các giá trị của vector arr loop(i,0,arr.size()) { coutvàlt;<arr[i]<<” “; } return 0; }

Kết quả của Khóa học:

Xét câu lệnh #define loop(i,a,n) for(int i=0 ; ivàlt;n ; i++) ở đây loop(1,a,n) sẽ tiến hành thay thế bởi for(int i=0 ; ivàlt;n ; i++) khi Khóa học chạy.

Xem Thêm : Độ co giãn (Elasticity) của hàng hóa là gì? Đặc điểm và ví dụ thực tế

Còn push_back là câu lệnh thêm thành phần vào thời điểm cuối vector sẽ tiến hành thay thế bởi pub , pop_back là câu lệnh bỏ đi thành phần cuối cùng của vector sẽ tiến hành thay thế bởi pob.

Như vậy tất cả chúng ta có thể thấy #define rất mạnh khi lập trình, nó giúp tất cả chúng ta thay thế được mọi thứ bằng một tên gọi mới gợi nhớ hơn, tất cả chúng ta có thể khai báo hằng, có thể thay thế vòng lặp, có thể thay thế tên kiểu,… Đặc biệt quan trọng hơn nó giúp tất cả chúng ta giảm tải 1 khoảng tầm thời kì code đi code lại những đoạn code trùng nhau, hỗ trợ cho Khóa học trở thành ngắn gọi và dễ hiểu hơn.

Một lưu ý nhỏ là cú pháp khi sử dụng define không thể thay thế như sau:

define new_name_use name_want_swap; hay define name_want_swap new_name_use lỗi này tuy nhỏ nhưng thành viên mình thấy có thấy nhiều bạn khi mới sử dụng rất hay bị sai.

Khi code tất cả chúng ta không được phép đặt tên biến giống với tên được thay thế ở #define. Vì, define hoạt động theo cơ chế precompile(tiền biên dịch) tức là dịch trước chạy sau.

Xét ví dụ cụ thể cho dễ hiểu nhé:

#include <bits/stdc++.hvàgt; using namespace std; #define PI = 3.14159 int main() { double PI = 3.14; return 0; }

Các bạn thử chạy xem lỗi thế nào nhé!

Điểm khác nhau giữa hai bạn hữu TYPEDEF & DEFINE

Xét tổng thể các ví dụ trên thì tất cả chúng ta có thể thấy điểm khác nhau lớn số 1 giữa typedef & define là: typedef chỉ có thể thêm tên mới cho những kiểu có sẵn hoặc do người dùng khái niệm còn define nó rộng hơn typedef tại vị trí là nó có thể thay thế hoặc khái niệm cho biến, cho kiểu, cho vòng lặp…

Sự thông ngôn typedef được thực hiện bởi bộ biên dịch, trong những khi lệnh #define được xử lý bởi bộ tiền xử lý.

Kết

Khi tham gia học tập và thao tác với C++ kiên cố sẽ không còn thể bỏ qua tri thức về typedef & define. Qua nội dung bài viết này tôi đã giới thiệu cũng như minh họa cụ thể cho những bạn về hai bạn hữu typedef & define, mong các chúng ta có thể hiểu và ứng dụng chúng thường xuyên. Hứa gặp các bạn trong các nội dung bài viết tiếp theo.

You May Also Like

About the Author: v1000