Câu hỏi được gắn thẻ «c++»

C ++ là ngôn ngữ lập trình có mục đích chung. Ban đầu nó được thiết kế như một phần mở rộng cho C và có cú pháp tương tự, nhưng giờ đây nó là một ngôn ngữ hoàn toàn khác. Sử dụng thẻ này cho các câu hỏi về mã (sẽ được) được biên dịch bằng trình biên dịch C ++. Sử dụng thẻ dành riêng cho phiên bản cho các câu hỏi liên quan đến sửa đổi tiêu chuẩn cụ thể [C ++ 11], [C ++ 14], [C ++ 17] hoặc [C ++ 20], v.v.


2
Cú pháp hợp lệ của việc gọi hàm hủy giả cho hằng số trôi nổi
Hãy xem xét các chương trình trình diễn sau đây. #include <iostream> int main() { typedef float T; 0.f.T::~T(); } Chương trình này được biên soạn bởi Microsoft Visual Studio Community 2019. Nhưng clangvà gccđưa ra một lỗi như thế này prog.cc:7:5: error: unable to find numeric literal operator 'operator""f.T' …



2
Xây dựng các ngoại lệ tiêu chuẩn với đối số con trỏ null và các điều kiện hậu kỳ không thể
Hãy xem xét chương trình sau: #include<stdexcept> #include<iostream> int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&) { std::cout << "Caught!\n"; } } GCC và Clang với libstdc ++ gọi std::terminatevà hủy bỏ chương trình với thông báo terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null …

2
Tôi có thể trả lại một đường ống tạm thời cho một hoạt động phạm vi không?
Giả sử tôi có một generate_my_rangelớp mô hình một range(cụ thể là regular). Sau đó, mã sau đây là chính xác: auto generate_my_range(int some_param) { auto my_transform_op = [](const auto& x){ return do_sth(x); }; return my_custom_rng_gen(some_param) | ranges::views::transform(my_transform_op); } auto cells = generate_my_range(10) | ranges::to<std::vector>; Được my_custom_rng_gen(some_param)lấy bởi giá trị …
9 c++  range-v3 

1
Làm thế nào để có được số lượng phần tử trong std :: mảng <T, N> mà không phải tạo cá thể của nó?
Có std::array&lt;T, N&gt;::size(), nhưng nó không tĩnh, vì vậy nó đòi hỏi một thể hiện của std::array. Có cách nào để lấy giá trị mà nó trả về (là Ncủa std::array&lt;T, N&gt;) mà không phải xây dựng một thể hiện của mảng không? Đối với một mảng bình thường, tôi …
9 c++  arrays  c++11  sizeof 

1
Có phải là UB để tiếp tục một chức năng thành viên coroutine của một đối tượng có thời gian kết thúc?
Câu hỏi này xuất phát từ nhận xét này: Giải thích trọn đời Lambda cho C ++ 20 coroutines liên quan đến ví dụ này: auto foo() -&gt; folly::coro::Task&lt;int&gt; { auto task = []() -&gt; folly::coro::Task&lt;int&gt; { co_return 1; }(); return task; } Vì vậy, câu hỏi là liệu thực …

2
Những không gian tên là gì và các quy tắc là gì?
Lưu ý: câu hỏi này là về name space, không phảinamespace . Tiêu chuẩn C ++ có một số tài liệu tham khảo name space, nhưng tôi không thấy định nghĩa về điều này. Các tiêu chuẩn nói rằng các nhãn và macro nằm trong các không gian tên khác …
9 c++  namespaces 

1
Tạo đối tượng tiềm ẩn không xác định
Do P0593 Việc tạo các đối tượng ngầm cho thao tác đối tượng mức thấp đã được chấp nhận, giờ đây các đối tượng có thể được tạo hoàn toàn trong C ++ 20. Cụ thể, từ ngữ được đề xuất cho phép cho phép các hoạt động nhất định …






Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.