C ++: Tổng quan cho người mới bắt đầu (phần 2)
Trong phần đầu của bải Tổng quan, chúng ta đã bàn về lịch sử của C++ và một vài công cụ cũng như phần mềm của nó. Hôm nay, hãy cùng khám phá phần còn lại, là tổng quan về cú pháp của C++, định nghĩa về các thuật ngữ hay được dùng để khiến bạn làm quen hơn.
Giới thiệu về ngôn ngữ và cú pháp C++
C++ là một ngôn ngữ lập trình hướng đến đối tượng. Các programs của nó được mô hình hóa xung quanh các đối tượng và lớp, giúp bạn kiểm soát và thao tác bằng cách áp dụng các hàm. Các ngôn ngữ OOP cung cấp một cấu trúc rõ ràng cho một program và cho phép các nhà phát triển mô hình hóa các vấn đề trong thế giới thực.
Ngôn ngữ này được thiết kế để cung cấp cho bạn nhiều tự do và quyền lực, điều này sẽ bao gồm cả tốt lẫn xấu. Điều tốt là bạn có toàn quyền kiểm soát cách hệ thống của bạn sử dụng tài nguyên; nhưng cái dở là không có tính năng quản lý bộ nhớ tự động như trong Java.
Bạn sẽ có khả năng lựa chọn giữa cách bộ nhớ được cấp phát (tức là ngăn xếp – stack hoặc đống – heap), điều này là tốt; nhưng sẽ không có trình thông dịch trong C++ để ngăn bạn viết mã lỗi, điều này rất tệ.
Để bắt đầu với C++, bạn cần tự làm quen với cú pháp. Điều này sẽ mở đường cho hành trình C++ của bạn và giúp bạn tạo các programs được tối ưu hóa an toàn và không có lỗi.
Cú pháp là gì?
Cú pháp giống như ngữ pháp của một ngôn ngữ lập trình. Đây là nền tảng cơ bản cho mọi thứ bạn sẽ viết bằng C++.
Đây là những quy tắc xác định cách bạn viết và hiểu mã C++. Hãy xem ví dụ về một số mã để làm quen với cú pháp.
Nếu bạn chạy cú pháp này, kết quả sẽ là:
Hello World Learn C++ Educative Team
Giải thích cú pháp
#include <iostream> là một thư viện header file. Header file sẽ nhập các tính năng vào chương trình của bạn. Về cơ bản, chúng ta đang yêu cầu chương trình sao chép nội dung từ một tệp có tên là <iostream>. Thứ này là viết tắt của luồng đầu vào và đầu ra, và nó xác định các tiêu chuẩn cho các đối tượng trong mã của chúng ta.
using namespace std có nghĩa là chúng ta đang sử dụng đối tượng và tên biến từ thư viện chuẩn (std). Câu lệnh này thường được viết tắt với từ khóa std và toán tử ::. int main ( ) được sử dụng để chỉ định hàm chính.
Nó là một phần rất quan trọng của các chương trình C++. Về cơ bản, một hàm sẽ xác định một hành động cho mã của bạn. Mọi thứ trong dấu ngoặc nhọn { } sẽ được thực thi.
cout là một đối tượng (phát âm là see – out). Trong ví dụ này, nó xác định kết quả đầu ra của chúng ta: các chuỗi từ. Chúng ta viết một đối tượng mới bằng cách sử dụng cout trên dòng thứ hai. Ký tự \n làm cho văn bản thực thi trên một dòng khác.
Thêm hai \n\n tạo ra một khoảng trống. Bằng cách viết return 0, chúng ta đang nói với chương trình rằng không có gì được trả về. Chúng ta chỉ xuất ra các chuỗi văn bản. Lưu ý rằng chúng ta sử dụng toán tử << để đặt tên cho các đối tượng của chúng ta. Dấu chấm phẩy ; có chức năng giống như dấu chấm.
Thuật ngữ và từ vựng C++
Chúng ta đã biết mã C++ trông như thế nào, giờ thì hãy cùng nhau xác định một số thuật ngữ đã được đề cập và chúng tôi sẽ giới thiệu cho bạn một số thuật ngữ khác.
Từ khóa (Keywords)
Từ khóa là những danh từ riêng được xác định trước có thể được sử dụng để xác định những thứ trong mã của bạn, chẳng hạn như các đối tượng, biến hoặc hành động cụ thể. Bạn cũng có thể tạo từ khóa của riêng mình. Dưới đây là một vài ví dụ về nó:
-
-
-
- goto
- float
- public
- class(1)
- int
-
-
Biến (Variables)
Các biến giống như các containers lưu trữ các giá trị. Để khai báo một biến, bạn phải cung cấp cho nó một giá trị và một kiểu dữ liệu (type) bằng cách sử dụng từ khóa chính xác. Tất cả các biến trong C++ đều cần có tên hoặc một định danh (identifier). Bạn nên tuân theo một số quy tắc cú pháp cơ bản khi tạo định danh.
-
-
-
- Tên có phân biệt chữ hoa chữ thường
- Tên có thể chứa các chữ cái, số và dấu gạch dưới
- Tên phải bắt đầu bằng chữ cái hoặc dấu gạch dưới
- Tên không được chứa khoảng trắng hoặc ký tự đặc biệt (!, #, @, V.v.)
- Tên không được sử dụng từ khóa riêng (ví dụ các keywords trong C++, như int)
-
-
Có sáu loại biến khác nhau:
Kiểu dữ liệu (Data types)
Kiểu dữ liệu là phân loại các kiểu dữ liệu khác nhau mà bạn có thể sử dụng trong một chương trình. Các kiểu dữ liệu giúp các biến biết chúng có thể lưu trữ dữ liệu nào. Có ba kiểu dữ liệu trong C++:
-
-
-
- Các kiểu dữ liệu nguyên thủy: đây là những dữ liệu có sẵn mà bạn có thể sử dụng để khai báo các biến. Chúng bao gồm số nguyên (integer), ký tự (character), boolean, dấu chấm động (floating point), dấu chấm động kép (double floating point), khoảng trống (void) và ký tự rộng (wide character).
- Các kiểu dữ liệu có nguồn gốc: những kiểu dữ liệu này có nguồn gốc từ các kiểu dữ liệu nguyên thủy. Chúng bao gồm hàm (function), tham chiếu (reference), mảng (array) và con trỏ (pointer).
- Kiểu dữ liệu do người dùng xác định: những kiểu này do bạn, người lập trình xác định.
-
-
Chuỗi (Strings)
Chuỗi là các đối tượng trong C++. Chúng là một tập hợp các ký tự trong dấu ngoặc kép ” “, giống như chuỗi ”Hello World” ở ví dụ trên. Vì chúng là các đối tượng nên chúng ta có thể thực hiện các hàm đối với chúng, như hàm length ( ), để xác định độ dài của một chuỗi.
Toán tử (Operators)
Toán tử là các biểu tượng giúp bạn thao tác dữ liệu và thực hiện các hoạt động. Trong C++, bạn có thể nạp chồng các toán tử để làm cho chúng hoạt động cho các lớp do người lập trình xác định. Nạp chồng một toán tử về cơ bản có nghĩa là một toán tử có thể có nhiều hơn một chức năng cùng một lúc. Có bốn loại toán tử trong ngôn ngữ C++, đó là:
Các đối tượng (Objects)
Đối tượng là một tập hợp dữ liệu mà chúng ta có thể thực hiện. Một đối tượng trong C ++ có một thuộc tính (đặc điểm của nó) và chức năng (khả năng của nó). Bạn xây dựng các đối tượng bằng cách sử dụng một lớp. Hãy coi điều này giống như một bản thiết kế cho một đối tượng.
Bạn tạo một lớp bằng cách sử dụng từ khóa class. Bạn phải xác định công cụ xác định quyền truy cập, chẳng hạn như công khai (public), riêng tư (private) hoặc được bảo vệ (protected). Từ khóa public cho biết rằng lớp đó có thể truy cập được từ bên ngoài. Khi bạn xác định lớp của mình, bạn có thể xác định các thuộc tính và đối tượng của mình. Hãy xem ví dụ dưới đây về một lớp và đối tượng.
Đầu ra cho mã này là:
Dog name is: rover Dog gender is: male Dog age is: 5
Hàm (Functions)
Hàm là các khối mã chạy khi chúng được chạy. Chúng là workhorse cho chương trình của bạn và được sử dụng để thực hiện các thao tác trên mã của bạn.
Chúng cực kỳ quan trọng vì khả năng tái sử dụng mã và giúp mô-đun hóa mã của bạn tốt hơn. Hãy nghĩ về chúng như những hành động mà bạn bắt đầu. Trong C++, có các hàm được xác định trước, như hàm main ( ) trong ví dụ ban đầu của chúng ta.
Để tạo một hàm, bạn phải đặt tên cho nó (được gọi là khai báo) và thêm dấu ngoặc đơn ( ). Sau đó, bạn có thể gọi hàm này bất kỳ lúc nào bằng cách sử dụng ten ham ( ).
Có rất nhiều cách để sử dụng các hàm. Bạn cũng có thể đính kèm các giá trị trả về vào các hàm của mình, các giá trị này xác định xem một hàm có nên xuất ra bất kỳ thông tin nào hay không. Từ khóa void biểu thị sẽ không có trả lại. Mặt khác, từ khóa return sẽ gọi đầu ra kiểu dữ liệu.
Câu điều kiện (Conditional statements)
Câu điều kiện cho phép bạn thực hiện kiểm tra xem một khối mã có nên được thực thi hay không. Có bốn câu lệnh điều kiện trong C++, đó là:
-
-
-
- if: một hành động nhất định sẽ được thực hiện nếu một điều kiện nhất định được đáp ứng
- else: một hành động nhất định sẽ được thực hiện thay thế nếu điều kiện đó không được đáp ứng
- else if: một điều kiện mới sẽ được kiểm tra nếu điều kiện đầu tiên không được đáp ứng
- switch: kiểm tra một biến dựa trên danh sách các giá trị
-
-
Vòng lặp (Loops)
Vòng lặp tương tự như câu lệnh điều kiện. Chúng thực thi các khối mã miễn là đạt được một điều kiện nhất định. Có hai loại vòng lặp trong C++, đó là:
-
-
-
- vòng lặp while: vòng lặp này sẽ tiếp tục lặp lại qua mã của bạn trong khi một điều kiện trả về true.
- vòng lặp for: được sử dụng khi bạn biết chính xác số lần bạn muốn lặp lại trong mã của mình
-
-
iRender - GPU cloud tốt nhất cho C++
Tại iRender, chúng tôi cung cấp nhiều GPU cho thuê với RTX3090 hiện đại. Mhttps://irendering.net/áy chủ từ xa của chúng tôi được Tối ưu hóa cho Tính toán Khoa học, Học máy, Học sâu.
Chúng tôi không chỉ hỗ trợ C++ mà còn hỗ trợ các ngôn ngữ lập trình khác như Python, Java, R, cùng với tất cả các IDE & Thư viện AI như: TensorFlow, Jupyter, MXNet, PyTorch, Keras, CNTK, Caffe, v.v.
Bạn có thể tham khảo các gói bên dưới được chúng tôi thiết kế riêng cho AI/ Học sâu:
Ngoài ra, tại iRender, chúng tôi còn cung cấp cho bạn nhiều hỗ trợ khác, không chỉ những cấu hình trên.
NVLink khiến nâng cao hiệu suất
Nếu 24GB VRam không đủ cho dự án của bạn, chúng tôi luôn có NVLink để giúp bạn tiếp cận nhiều hơn thế. Bạn có thể đọc bài viết này để biết cách set up NVLink trên máy của chúng tôi.
Công cụ truyền tải miễn phí và tiện lợi
iRender cung cấp một công cụ truyền tệp miễn phí và mạnh mẽ: Gpuhub Sync. Với tốc độ truyền file nhanh chóng, dung lượng dữ liệu lớn và hoàn toàn miễn phí. Bạn có thể chuyển tất cả dữ liệu cần thiết vào công cụ Gpuhub Sync của chúng tôi bất kỳ lúc nào mà không cần kết nối với server. Dữ liệu sẽ được đồng bộ tự động trong ổ Z bên trong server, sẵn sàng cho bạn sử dụng.
Giá cả linh hoạt
Ngoài giá thuê theo giờ, bạn có thể tiết kiệm từ 10% đến 20% với tính năng tự động thuê dài hạn (fixed rental) của chúng tôi. Đối với những ai cần thuê server nhiều hơn một ngày, hoặc có dự án cực lớn, chúng tôi khuyên bạn nên chọn gói thuê theo ngày/ tuần/ tháng. Mức chiết khấu rất hấp dẫn (lên đến 10% đối với gói hàng ngày, 20% đối với gói hàng tuần và tháng) và bạn không phải lo lắng về việc bị tính phí quá mức nếu bạn quên shutdown server.
Dịch vụ chăm sóc hỗ trợ khách hàng 24/7
Người dùng có thể truy cập vào nền tảng trực tuyến dựa trên web của chúng tôi và sử dụng nhiều nodes để kết xuất cùng một lúc. Do đó, với chúng tôi, không quan trọng bạn hiện diện ở đâu – miễn là bạn có kết nối với Internet, bạn có thể truy cập và tận hưởng các dịch vụ kết xuất 24/7 mà chúng tôi cung cấp và nếu bạn gặp bất kỳ vấn đề nào, đội ngũ support của chúng tôi luôn hiện diện 24/7 để hỗ trợ bạn..
Với những lợi thế như trên cùng với việc không hề có chi phí ẩn khi sử dụng máy, chúng tôi tin rằng đây là một dịch vụ đáng để bạn thử. Bạn có thể đăng ký tài khoản ngay hôm nay thông qua link này để trải nghiệm dịch vụ của chúng tôi. Hoặc liên hệ với chúng tôi qua Zalo 0916806116 để được tư vấn và hỗ trợ.
Cảm ơn bạn & Happy Training!
Nguồn: educative.io