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.



1
std :: chức năng const chính xác
Giả sử tôi có một loại có thể gọi như vậy: struct mutable_callable { int my_mutable = 0; int operator()() { // Not const return my_mutable++; } }; Lưu ý rằng mutable_callablecó một hằng số operator()sửa đổi một biến thành viên ..... Bây giờ giả sử tôi tạo ra một …

1
Span có thể là constexpr?
Tất cả các hàm tạo của std :: span đều được khai báo constexpr, tuy nhiên tôi dường như không thể khiến bất kỳ cái nào trong số chúng hoạt động trong ngữ cảnh constexpr. Việc bỏ sót bất kỳ constexpr nào dưới đây sẽ dẫn đến lỗi biên dịch. …
11 c++  constexpr  c++20 







1
Một mẫu biến có thể được chuyển qua làm đối số mẫu mẫu không?
Ví dụ vô nghĩa sau đây không biên dịch, nhưng có một số cách khác để truyền một mẫu biến như một đối số mẫu khuôn mẫu? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() …




3
Tôi có thể sử dụng std :: Transform tại chỗ với chính sách thực thi song song không?
Nếu tôi không nhầm, tôi có thể thực std::transformhiện tại chỗ bằng cách sử dụng cùng một phạm vi như một trình vòng lặp đầu vào và đầu ra. Giả sử tôi có một số std::vectorđối tượng vec, sau đó tôi sẽ viết std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) sử dụng một hoạt động đơn …

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.