C++23 từ khóa thực sự
Tôi đã không tích cực tuân theo quy trình tiêu chuẩn hóa trong vài năm nên một số nội dung trên trang cppreference khiến tôi ngạc nhiên. Tuy nhiên, sau khoảng 90 phút nhấp qua nó, tôi có một số nhận xét về một số tính năng nhất định Show
1. "if consteval" - Tôi đoán điều này nhằm thay thế std. is_constant_evaluated, vì cái sau dễ bị lỗi 2. "Suy ra điều này" - Điều này có thể cho phép Tính năng này có thể là bước đầu tiên từ cú pháp đặc trưng liên quan đến các hàm thành viên và có thể là bước đầu tiên hướng tới cú pháp gọi hàm thống nhất. Tính đồng nhất về cú pháp sẽ cải thiện khả năng hỗ trợ lập trình chung (đủ) của C++, nhưng nó cũng sẽ giúp cải thiện các tính năng lập trình meta khủng khiếp không thể tránh khỏi đang được thêm vào ngôn ngữ, vì vậy tính năng này là một bước vững chắc đi đúng hướng 3. "out_ptr và inout_ptr" - đây là một công cụ giúp con trỏ thông minh hoạt động trơn tru với các giao diện kiểu C có chữ T** và chữ T* được trỏ tới. Điều này sẽ hữu ích, nhưng tại sao họ lại chọn inout_ptr thay vì in_out_ptr. ? 4. "move_only_function" - Nó dùng để làm gì? Chúng tôi đã trở lại với tất cả các tin tức từ tháng 6, tháng 7 và tháng 8 năm 2022 trong thông báo chú thích C++ mới nhất của chúng tôi. Chúng tôi đã giữ im lặng trong một thời gian và mặc dù ba tháng này ít bận rộn hơn so với phần còn lại của năm đối với nhiều người, nhưng chúng vẫn chứa đầy những tin tức tuyệt vời. Vì vậy, mong đợi thông báo của ngày hôm nay sẽ dài hơn bình thường một chút
C++23 đang trong tình trạng đóng băng tính năngTrong phiên họp toàn thể ảo tháng 7, C++23 đã đạt đến mức đóng băng tính năng. Timur Doumler đã viết một báo cáo cuộc họp trên blog của chúng tôi về những thay đổi chính đã được thống nhất tại cuộc họp Để giải quyết trường hợp sử dụng coroutines, hỗ trợ thư viện đã được thêm vào với C23 rất lớnC cũng có một số tin tức lớn thú vị – C23 hiện đang ở dạng cuối cùng. Bài đăng trên blog này cung cấp cho bạn một cái nhìn tổng quan về nhiều thay đổi mới liên kết với các đề xuất liên quan Các nhà phát triển C++ có thể không coi đây là “những thay đổi lớn” mà giống như “những điều hiển nhiên phải có” hơn. Tuy nhiên, đối với các nhà phát triển C, bản cập nhật là rất lớn
Bi kịch của C++ và ngôn ngữ Carbon từ C++NorthVào tháng 7, phiên bản đầu tiên của C ++ North đã diễn ra tại Toronto. Hội nghị phát triển từ Nhóm người dùng Toronto C++. Vì vậy, mặc dù chỉ có 180 người tham dự tại chỗ, nhiều diễn giả đáng chú ý đã có mặt. Timur Doumler đã viết một báo cáo chuyến đi chia sẻ ấn tượng của mình về sự kiện này Chúng tôi muốn nhấn mạnh hai bài phát biểu ở đây
Nội tuyến – không phải như trước đâyMartin Vobrodt đã viết một bài báo về từ khóa C++17 Bộ cấp phát bộ nhớ và API xấuMột bài viết mới của Jonathan Müller thảo luận về bộ cấp phát bộ nhớ và các vấn đề trong API hiện tại của họ. Trong API tốt, các chức năng yêu cầu tất cả thông tin cần thiết làm tham số đầu vào và trả về nhiều thông tin nhất có thể. Tuy nhiên, các hàm
Jonathan đã đề xuất một giao diện tốt hơn để giải quyết những vấn đề này. Ông cũng chia sẻ những cải tiến gần đây theo hướng này đã được đề xuất hoặc triển khai bằng ngôn ngữ. Điều này bao gồm phân bổ được căn chỉnh trong C++17, phân bổ theo kích thước và hàm Sử dụng loại C++23 std::format2Marius Bancila dành riêng một bài báo cho một tính năng mới sắp có trong C++23 –
Hãy xem bài đăng của khách này từ Greg Utas tại C++ Stories. Nó dành riêng để viết trình kiểm tra mã nguồn mở với các bản sửa lỗi nhanh cho mã C++. Ý tưởng được nảy sinh từ yêu cầu làm sạch các chỉ thị Bài viết không đi sâu vào chi tiết triển khai. Công cụ này được xây dựng trên RSC, một khung nguồn mở dành cho các ứng dụng C++ linh hoạt và nó hỗ trợ các tính năng của ngôn ngữ C++ mà RSC sử dụng – một tập hợp con của C++11. Bạn có thể tìm hiểu cách sử dụng công cụ này từ bài viết, vì nó trình bày các lệnh CLI để sử dụng công cụ và một ví dụ thực tế Có nhiều công cụ trong hệ sinh thái để so sánh với ngày nay. Những hạn chế của công cụ hiện tại cũng được liệt kê trong bài đăng trên blog. Bạn sử dụng (những) công cụ phân tích mã nào trong quá trình phát triển C++ hàng ngày của mình, nếu có? Viết daemon trong C++20Nhiều người trong chúng ta đã viết một daemon đơn giản ngồi và thực hiện một số công việc nền cho đến khi tắt máy. Một điểm thú vị ở đây là hầu hết các mã phổ biến không thể xử lý chính xác tín hiệu tiêu diệt được gửi bằng cách nhập Đơn giản hóa mã với if constexpr và các khái niệm trong C++17/C++20Một bài blog khác trong C++ Stories, được viết bởi Bartlomiej Filipek, dành riêng cho
Mọi ví dụ trong bài viết đều bắt đầu với việc triển khai đã biết thông qua Bool trong C++ cho các tham số chức năngAntoine Morrier bắt đầu một cuộc thảo luận về việc sử dụng booleans trong tham số chức năng. Thay vào đó, anh ấy đề xuất sử dụng một lớp Trong cuộc phỏng vấn này, chúng tôi đã nói chuyện với Jean-François Milants, người đóng góp chính cho dự án InfiniTime, chương trình cơ sở mã nguồn mở cho đồng hồ thông minh Pine64 PineTime. Anh ấy nói với chúng tôi về việc bắt đầu dự án và phát triển lên sáu nhà phát triển cốt lõi và hơn 100 người đóng góp từ khắp nơi trên thế giới. Chúng tôi đã thảo luận về các nền tảng khác mà phần mềm được chuyển sang, bộ vi điều khiển nRF52832 của Nordic Semiconductor mà đồng hồ thông minh PineTime dựa trên đó, nó phù hợp với trường hợp sử dụng đồng hồ thông minh như thế nào và việc bắt đầu dễ dàng như thế nào Phần sụn hiện đang sử dụng C++ 14, với Phát triển C++ từ xa với CLionVào tháng 7, chúng tôi đã tổ chức một hội thảo trên web dành riêng cho các thiết lập khác nhau để phát triển C++ từ xa được hỗ trợ trong CLion, IDE C++ đa nền tảng của JetBrains. Matt Ellis và Timur Doumler đã thảo luận về các tùy chọn như phát triển từ xa với Cổng và phát triển từ xa với các nguồn cục bộ, thiết lập WSL và Docker cũng như chuỗi công cụ chuyên dụng và chỉnh sửa cộng tác với Code With Me. Các loa đã nhấp nháy đèn LED Raspberry Pi bằng cách gỡ lỗi từ xa từ CLion và thậm chí đã làm điều đó một cách cộng tác (Matt nhấp nháy đèn LED ở phía Timur) Bài đăng trên blog tiếp theo cung cấp bản ghi của hội thảo trên web, cung cấp một tập hợp các liên kết hữu ích để đọc thêm và tới tài liệu, đồng thời trình bày một số câu hỏi và câu trả lời đáng chú ý từ sự kiện. Ví dụ: bạn có thể tìm hiểu xem ứng dụng tối thiểu có kế thừa cài đặt CLion hay không hoặc cách đảm bảo quyền riêng tư cho Code With Me và Gateway CMake 3. 24Bản phát hành CMake mới mang lại nhiều thay đổi đáng giá. Đọc qua những điểm nổi bật chính và xem ghi chú phát hành đầy đủ nếu bạn quan tâm
Những thay đổi khác bao gồm các cải tiến cho trình tạo Green Hills MULTI và Visual Studio, cùng với nhiều lệnh, thuộc tính, biến mới và các cải tiến khác Clion 2022. 2Cuối tháng 7 ra bản CLion mới. Bản phát hành này vẫn nhằm mục đích cải thiện nhiều tính năng và tích hợp hiện có, đồng thời nâng cao trải nghiệm người dùng, hiệu suất và các khía cạnh khác. Trọng tâm đặc biệt về khả năng đọc mã là trình điều khiển cho một số tính năng mới
Nhiều cải tiến hiệu suất cho các bộ công cụ khác nhau đã được giới thiệu trong phiên bản mới, bao gồm các bản cập nhật plugin Space và IntelliJ Rust, v.v. Nếu bạn quan tâm đến những gì nhóm CLion dự định trong v2022. 3 kiểm tra ReSharper C++ 2022. 2JetBrains ReSharper C++, một tiện ích mở rộng dành cho Visual Studio dành cho nhà phát triển C++, cũng đã nhận được bản cập nhật vào năm 2022. 2 bản cập nhật. Nó cải thiện chất lượng hỗ trợ C ++ và mang lại nhiều tính năng tăng năng suất hơn cho các nhà phát triển trò chơi dựa trên Unreal Engine
Các thay đổi khác bao gồm xử lý tốt hơn các lệnh gọi hàm tương tự như LLVM 15Bản phát hành mới nhóm nhiều thay đổi trong LLVM, Clang, ClangFormat, Extra Clang Tools và các phần khác của hệ sinh thái LLVM theo v15. 0. 0. Bạn có thể quan tâm đến các phần khác nhau của thông báo, vì vậy hãy đảm bảo kiểm tra nó. Dưới đây là những điểm nổi bật được ghi nhận bởi nhóm của chúng tôi
Đăng ký cập nhật BlogBằng cách gửi biểu mẫu này, tôi đồng ý rằng JetBrains s. r. o. ("JetBrains") có thể sử dụng tên, địa chỉ email và dữ liệu vị trí của tôi để gửi cho tôi các bản tin, bao gồm cả thông tin liên lạc thương mại và để xử lý dữ liệu cá nhân của tôi cho mục đích này. Tôi đồng ý rằng JetBrains có thể xử lý dữ liệu nói trên bằng các dịch vụ của bên thứ ba cho mục đích này theo Chính sách quyền riêng tư của JetBrains. Tôi hiểu rằng tôi có thể rút lại sự đồng ý này bất cứ lúc nào trong hồ sơ của mình. Ngoài ra, một liên kết hủy đăng ký được bao gồm trong mỗi email C++23 đã hoàn thiện chưa?C++ 23, phiên bản tiếp theo theo kế hoạch của ngôn ngữ lập trình C++ do được hoàn thiện vào năm 2023 , được thiết lập để tiếp tục hỗ trợ cho .
Có gì trong C++23?C++23 đang ở trạng thái đóng băng tính năng
. print tích hợp với C++20 std. định dạng được thêm vào a new std::print that integrates with C++20 std::format is added . Bạn cũng có thể tìm thấy các loại dấu phẩy động mới mở rộng tùy chọn với chiều rộng và thuộc tính lưu trữ được xác định, được xác định theo ISO/IEC/IEEE 60559 và nhiều cải tiến cho phạm vi.
Đây có phải là từ khóa trong C++ không?Trong lập trình C++, đây là từ khóa đề cập đến thể hiện hiện tại của lớp . Có thể có 3 cách sử dụng chính của từ khóa này trong C++. Nó có thể được sử dụng để truyền đối tượng hiện tại làm tham số cho phương thức khác. Nó có thể được sử dụng để chỉ biến thể hiện của lớp hiện tại.
C++20 có được phát hành không?C++20 là phiên bản của tiêu chuẩn ISO/IEC 14882 dành cho ngôn ngữ lập trình C++. C++20 đã thay thế phiên bản trước của tiêu chuẩn C++, được gọi là C++17. Tiêu chuẩn đã được WG21 hoàn thiện về mặt kỹ thuật tại cuộc họp ở Praha vào tháng 2 năm 2020, được phê duyệt vào ngày 4 tháng 9 năm 2020 và được xuất bản vào tháng 12 năm 2020 . |