Mục lục:
- Các biểu thức
- Các biểu thức chính tả
- [] [const] type var [= expression]; / / biến [] [const] loại mảng [kích thước] [= {list}]; // array [const] type object [(danh sách các đối số)]; // object [const] type object [= {arguments list}]; / / thay thế [const] loại * [const] ptr [= biểu hiện con trỏ]; // kiểu con trỏ & refName = đối tượng; / / loại tài liệu tham khảo fnName ([danh sách đối số]); // function
Video: #1 Chân mệnh sử gia khiến Trấn Thành, Tóc Tiên,... vạn phục | SIÊU TRÍ TUỆ VIỆT NAM | FTLTVC08 2025
Một phần của C ++ đối với những người vượt trội Cheat Sheet
Để thực hiện tính toán trong chương trình C ++, bạn cần một biểu thức. Một biểu thức là một tuyên bố có cả một giá trị và một loại. Trong chương trình C ++, khai báo là câu lệnh định nghĩa biến hoặc nó là một "bể chứa" cho một số loại giá trị như một số hoặc ký tự.
Các biểu thức
Biểu thức có một trong các dạng sau:
objName // cho một biểu thức toán tử đối tượng đơn giản // cho các toán tử unary expr1 operator expr2 // cho các toán tử nhị phân expr1? expr2: expr3 // cho toán tử thứ ba funcName ([arguments list]); / / cho các cuộc gọi chức năng
Các biểu thức chính tả
Một chữ nghĩa là một hình thức biểu hiện liên tục. Các loại literals khác nhau được định nghĩa trong bảng dưới đây.
Ví dụ | Nhập |
---|---|
1 | int |
1L | dài int |
1LL | dài dài int |
1. 0 | gấp đôi |
1. | char |
"a string" | char * (tự động chấm dứt với một ký tự null) |
L "a string" | wchar_t * > u8 "Đây là một chuỗi UTF-8 với ký tự UTF-8: u2018" |
char8_t * | u "đây là một chuỗi UTF-16 có ký tự UTF-16: u2018" |
char16_t * | U "đây là một chuỗi UTF-32 với ký tự UTF-32: |
U00002018" | char32_t * true, false |
bool
0b101 |
nhị phân (C ++ 2014 tiêu chuẩn) |
|
Tuyên bố |
Tuyên bố sử dụng cả hai loại nội tại và người dùng định nghĩa. Các kiểu nội tại là | [] char [] wchar_t [] [] int float [long] double bool |
[] [const] type var [= expression]; / / biến [] [const] loại mảng [kích thước] [= {list}]; // array [const] type object [(danh sách các đối số)]; // object [const] type object [= {arguments list}]; / / thay thế [const] loại * [const] ptr [= biểu hiện con trỏ]; // kiểu con trỏ & refName = đối tượng; / / loại tài liệu tham khảo fnName ([danh sách đối số]); // function
Tự động từ khoá có thể được sử dụng nếu C ++ có thể xác định loại biến chính nó:
auto var = 1L; / / loại var là int dài
Từ khóa decltype chiết xuất các loại của một biểu thức. Loại này sau đó có thể được sử dụng bất cứ nơi nào một tên loại được sử dụng. Ví dụ, ví dụ sau sử dụng decltype để khai báo một biến thứ hai có cùng kiểu với biến hiện có:
decltype (var1) var2; // kiểu var2 giống như var1
Một định nghĩa hàm có định dạng sau:// simple function [] gõ fnName (arguments list) {…} // chức năng thành viên được định nghĩa bên ngoài class [inline] class Class:: func (arguments list) [const] {…} // constructor / destructors cũng có thể được định nghĩa bên ngoài lớp Class:: Class ([arguments list]) {…} Lớp:: Class () {… } / / constructor / destructor có thể bị xóa hoặc mặc định // thay vì định nghĩa Class:: Class ([argument list]) =; Lớp:: ~ Class () =;
Nhà điều hành quá tải giống như một định nghĩa chức năng.Hầu hết các nhà khai thác quá tải có thể được viết bằng thành viên hoặc các chức năng đơn giản. Khi viết như một hàm thành viên, * đây là giả định đầu tiên cho toán tử:
MyClass & operator + (const MyClass & m1, const MyClass & m2); // Simple MyClass & MyClass:: operator + (const MyClass & m2); // hội viên;
Người dùng cũng có thể xác định các kiểu của riêng mình bằng cách sử dụng các lớp hoặc các từ khóa struct:
ClassName [: [virtual] [public] BaseClass] {: // constructor ClassName ([arg list]) ClassName () [=;] // destructor [ảo] ~ ClassName () <{…} | [=; > // các thành viên dữ liệu công cộng gõ dataMemberName [= initialValue]; // public member function type memberFunctionName ([arg list]) [{…}] // Hàm kiểu thành viên const memberFunctionName ([arg list]) const [{…}] // các thành viên ảo ảo kiểu memberFunctionName ([arg list]) [{…}]; / / tinh khiết các thành viên ảo ảo thành viên typeFunctionName ([arg list]) = 0; / / chức năng mà phải ghi đè lên một loại chức năng lớp cơ sở memberFunctionName ([arg danh sách]) ghi đè; / / một chức năng mà không thể được overriden trong một loại subclass memberFunctionName ([arg danh sách]) cuối cùng;};
Ngoài ra, một constructor với một đối số duy nhất có thể được đánh dấu là rõ ràng có nghĩa là nó sẽ không được sử dụng trong một chuyển đổi tiềm ẩn từ một loại khác. Gắn cờ một constructor như là mặc định có nghĩa là "sử dụng định nghĩa constructor mặc định C ++". Gắn cờ một hàm tạo như xóa sẽ xóa định nghĩa constructor mặc định của C ++.C + + hỗ trợ hai loại liệt kê các loại. Kiểu đếm cũ sau đây không tạo ra một kiểu mới:
enum STATE (DC, // nhận được 0 ALABAMA, // được 1 ALASKA, // được 2 ARKANSAS, // được 3 // … và như vậy); int n = ALASKA; // ALASKA là kiểu int
Theo mặc định, một mục cá nhân là kiểu int nhưng điều này có thể được thay đổi trong tiêu chuẩn C ++ 2011:
enum ALPHABET: char {A = 'a', // get 'a' B, // được 'b' C, // được 'c' // … và vân vân}; char c = A; / / A là của loại charC + + 2011 cho phép một định dạng thứ hai mà không tạo ra một loại mới:
// liệt kê sau đây định nghĩa một kiểu mới State enum class STATE (DC, // lấy được 0 ALABAMA, // được 1 ALASKA, // được 2 ARKANSAS, // được 3 // … vân vân; NHÀ NƯỚC s = STATE:: ALASKA; // bây giờ STATE là một kiểu mới / / sau đây sử dụng một loại enum khác nhau cơ bản lớp ALPHABET: char {A = 'a', // được 'a' B, // được 'b' C, // get 'c '// … và vân vân}; ALPHABET c = ALPHABET:: A; // A thuộc loại ALPHABET
Tờ khai mẫu có định dạng hơi khác: