Tân bản C++ đặc tính
Chú ý:Khảo lự đáo toán pháp cạnh tái đích thật tế tình huống, bổn văn tương bất hội toàn diện nghiên cứu ngữ pháp, chỉ hội giảng thuật tại toán pháp cạnh tái trung khả năng hội ứng dụng đáo đích bộ phân.
Bổn văn ngữ pháp tham chiếuC++11Tiêu chuẩn. Ngữ nghĩa bất đồng đích tương dĩC++11Tác vi tiêu chuẩn, C++14, C++17 đích ngữ pháp thị tình huống đề cập tịnh hội đặc biệt tiêu chú.
auto
Loại hình thuyết minh phù
auto
Loại hình thuyết minh phù dụng vu tự động thôi đạo biến lượng đẳng đích loại hình. Lệ như:
1 2 |
|
Cơ vu phạm vi đíchfor
Tuần hoàn
Hạ diện thịC++20 tiềnCơ vu phạm vi đíchfor
Tuần hoàn đích ngữ pháp:
1 |
|
Thượng thuật ngữ pháp sản sinh đích đại mã đẳng giới vu hạ liệt đại mã (__range
,__begin
Hòa__end
Cận dụng vu xiển thích ):
1 2 3 4 5 |
|
range_declaration phạm vi thanh minh
Phạm vi thanh minh thị nhất cá cụ danh biến lượng đích thanh minh, kỳ loại hình thị do phạm vi biểu đạt thức sở biểu kỳ đích tự liệt đích nguyên tố đích loại hình, hoặc cai loại hình đích dẫn dụng. Thông thường dụngauto
Thuyết minh phù tiến hành tự động loại hình thôi đạo.
range_expression phạm vi biểu đạt thức
Phạm vi biểu đạt thức thị nhậm hà khả dĩ biểu kỳ nhất cá hợp thích đích tự liệt ( sổ tổ, hoặc định nghĩa liễubegin
Hòaend
Thành viên hàm sổ hoặc tự do hàm sổ đích đối tượng ) đích biểu đạt thức, hoặc nhất cá hoa quát hào sơ thủy hóa khí liệt biểu. Chính nhân thử, ngã môn bất ứng tại tuần hoàn thể trung tu cải phạm vi biểu đạt thức sử kỳ nhậm hà thượng vị bị biến lịch đáo đích “Điệt đại khí” ( bao quát “Vĩ hậu điệt đại khí” ) phi pháp hóa.
Giá lí hữu nhất cá lệ tử:
1 |
|
loop_statement tuần hoàn ngữ cú
Tuần hoàn ngữ cú khả dĩ thị nhậm hà ngữ cú, thường vi nhất điều phục hợp ngữ cú, tha thị tuần hoàn thể.
Giá lí hữu nhất cá lệ tử:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Lambda biểu đạt thức
Tường kiếnLambda biểu đạt thứcHiệt diện.
decltype thuyết minh phù
decltype
Thuyết minh phù khả dĩ thôi đoạn biểu đạt thức đích loại hình.
1 2 3 4 5 6 7 8 9 10 |
|
constexpr
Lánh thỉnh tham duyệtThường trị: Thường biểu đạt thức constexpr ( C++11 )
constexpr
Thuyết minh phù thanh minh khả dĩ tại biên dịch thời cầu đắc hàm sổ hoặc biến lượng đích trị. Kỳ dữconst
Đích chủ yếu khu biệt thị nhất định hội tại biên dịch thời tiến hành sơ thủy hóa. Dụng vu đối tượng thanh minh đíchconstexpr
Thuyết minh phù uẩn hàmconst
,Dụng vu hàm sổ thanh minh đíchconstexpr
Uẩn hàminline
.Lai khán nhất cá lệ tử
1 2 3 4 5 6 |
|
Tạiint fact(int x)
Chi tiền gia thượngconstexpr
Tắc biên dịch thông quá.
std::tuple
std::tuple
Định nghĩa vu đầu văn kiện<tuple>
,Thị cố định đại tiểu đích dị loại trị hối tập ( tại xác định sơ thủy nguyên tố hậu bất năng canh cải, đãn thị sơ thủy nguyên tố năng hữu nhậm ý đa cá ). Tha thịstd::pair
Đích thôi quảng. Lai khán nhất cá lệ tử:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Thành viên hàm sổ
Hàm sổ | Tác dụng |
---|---|
operator= | Phú trị nhất cátuple Đích nội dung cấp lánh nhất cá |
swap | Giao hoán nhị cátuple Đích nội dung |
Lệ tử
1 2 3 4 |
|
Phi thành viên hàm sổ
Hàm sổ | Tác dụng |
---|---|
make_tuple | Sang kiến nhất cátuple Đối tượng, kỳ loại hình căn cư các thật tham loại hình định nghĩa |
std::get | Nguyên tổ thức phóng vấn chỉ định đích nguyên tố |
operator== Đẳng | Án tự điển thuận tự bỉ giáctuple Trung đích trị |
std::swap | Đặc hóa đíchstd::swap Toán pháp |
Lệ tử
1 2 3 4 |
|
std::function
Loại mô bảnstd::function
Thị thông dụng đa thái hàm sổ phong trang khí, định nghĩa vu đầu văn kiện<functional>
.std::function
Đích thật lệ năng tồn trữ, phục chế cập điều dụng nhậm hà khả điều dụng (Callable) mục tiêu —— hàm sổ, Lambda biểu đạt thức hoặc kỳ tha hàm sổ đối tượng, hoàn hữu chỉ hướng thành viên hàm sổ chỉ châm hòa chỉ hướng sổ cư thành viên chỉ châm.
Tồn trữ đích khả điều dụng đối tượng bị xưng vistd::function
ĐíchMục tiêu.Nhượcstd::function
Bất hàm mục tiêu, tắc xưng tha viKhông.Điều dụng khôngstd::function
Đích mục tiêu tương đạo trí phao xuấtstd::bad_function_call
Dị thường.
Lai khán lệ tử
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Khả biến tham sổ hoành
Khả biến tham sổ hoành thị C99 dẫn nhập đích nhất cá đặc tính, C++ tòng C++11 khai thủy chi trì giá nhất đặc tính. Khả biến tham sổ hoành duẫn hứa hoành định nghĩa khả dĩ ủng hữu khả biến tham sổ, lệ như:
1 |
|
Kỳ trung,...
Thị khuyết tỉnh phù hào,__VA_ARGS__
Tại điều dụng thời hội thế hoán thành thật tế đích tham sổ liệt biểu,def_body
Ứng vi khả biến tham sổ mô bản hàm sổ.
Hiện tại tựu khả dĩ giá ma điều dụngdef_name
:
1 2 3 4 |
|
Khả biến tham sổ mô bản
Tại C++11 chi tiền, loại mô bản hòa hàm sổ mô bản đô chỉ năng tiếp thụ cố định sổ mục đích mô bản tham sổ. C++11 duẫn hứaNhậm ý cá sổ, nhậm ý loại hìnhĐích mô bản tham sổ.
Khả biến tham sổ mô bản loại
Lệ như, hạ liệt đại mã thanh minh đích mô bản loạituple
Đích đối tượng khả dĩ tiếp thụ nhậm ý cá sổ, nhậm ý loại hình đích mô bản tham sổ tác vi tha đích mô bản hình tham.
1 2 |
|
Kỳ trung,Values
Thị nhất cá mô bản tham sổ bao, biểu kỳ 0 cá hoặc đa cá ngạch ngoại đích loại hình tham sổ. Mô bản loại chỉ năng hàm hữu nhất cá mô bản tham sổ bao, thả mô bản tham sổ bao tất tu vị vu sở hữu mô bản tham sổ đích tối hữu trắc.
Sở dĩ, khả dĩ giá ma thanh minhtuple
Đích đối tượng:
1 2 3 4 |
|
Như quả yếu hạn chế chí thiếu hữu nhất cá mô bản tham sổ, khả dĩ giá ma định nghĩa mô bản loạituple
:
1 2 |
|
Khả biến tham sổ mô bản hàm sổ
Đồng dạng đích, hạ liệt đại mã thanh minh đích mô bản hàm sổfun
Khả dĩ tiếp thụ nhậm ý cá sổ, nhậm ý loại hình đích mô bản tham sổ tác vi tha đích mô bản hình tham.
1 2 |
|
Kỳ trung,Values
Thị nhất cá mô bản tham sổ bao,values
Thị nhất cá hàm sổ tham sổ bao, biểu kỳ 0 cá hoặc đa cá hàm sổ tham sổ. Mô bản hàm sổ chỉ năng hàm hữu nhất cá mô bản tham sổ bao, thả mô bản tham sổ bao tất tu vị vu sở hữu mô bản tham sổ đích tối hữu trắc.
Sở dĩ, khả dĩ giá ma điều dụngfun
Hàm sổ:
1 2 3 4 |
|
Tham sổ bao triển khai
Chi tiền thuyết diện liễu như hà thanh minh mô bản loại hoặc giả mô bản hàm sổ, đãn thị cụ thể chẩm ma sử dụng truyện tiến lai đích tham sổ ni? Giá cá thời hầu tựu nhu yếu tham sổ bao triển khai.
Đối vu mô bản hàm sổ nhi ngôn, tham sổ bao triển khai đích phương thức hữu đệ quy hàm sổ phương thức triển khai dĩ cập đậu hào biểu đạt thức hòa tham sổ liệt biểu phương thức triển khai.
Đối vu mô bản loại nhi ngôn, tham sổ bao triển khai đích phương thức hữu mô bản đệ quy phương thức triển khai hòa kế thừa phương thức triển khai.
Đệ quy hàm sổ phương thức triển khai tham sổ bao
Đệ quy hàm sổ phương thức triển khai tham sổ bao nhu yếu đề cung triển khai tham sổ bao đích đệ quy hàm sổ hòa tham sổ bao triển khai đích chung chỉ hàm sổ.
Cử cá lệ tử, hạ diện giá cá đại mã đoạn sử dụng liễu đệ quy hàm sổ phương thức triển khai tham sổ bao, thật hiện liễu khả tiếp thụ đại vu đẳng vu 2 cá tham sổ đích thủ tối đại trị hàm sổ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
Khả biến tham sổ mô bản đích ứng dụng
Cử cá ứng dụng đích lệ tử, hữu đích nhân tại debug đích thời hầu khả năng bất hỉ hoan dụng IDE đích điều thí công năng, nhi thị hỉ hoan thâu xuất trung gian biến lượng. Đãn thị, hữu thời hầu yếu thâu xuất đích trung gian biến lượng sổ lượng hữu điểm đa, tả thâu xuất trung gian biến lượng đích đại mã đích thời hầu khả năng hội bỉ giác phiền táo, giá thời hầu tựu khả dĩ dụng thượng khả biến tham sổ mô bản hòa khả biến tham sổ hoành.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
Giá dạng nhất lai, như quả sự tiên tại đại mã mô bản lí tả hảo DEBUG đích tương quan đại mã, hậu tục thâu xuất trung gian biến lượng đích thời hầu tựu hội phương tiện hứa đa.
Tham khảo
Bổn hiệt diện tối cận canh tân:2024/5/16 21:43:33,Canh tân lịch sử
Phát hiện thác ngộ? Tưởng nhất khởi hoàn thiện?Tại GitHub thượng biên tập thử hiệt!
Bổn hiệt diện cống hiến giả:Backl1ght,CCXXXI,ChenZ01,cmpute,CoderOJ,Enter-tainer,gi-b716,Ir1d,ksyx,StudyingFather,Tiphereth-A,Xeonacid,zhb2000
Bổn hiệt diện đích toàn bộ nội dung tạiCC BY-SA 4.0HòaSATAHiệp nghị chi điều khoản hạ đề cung, phụ gia điều khoản diệc khả năng ứng dụng