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

C ++ 20 là mục tiêu cho phiên bản C ++ sau C ++ 17. Thẻ này nên được sử dụng (cùng với thẻ C ++) cho các câu hỏi về các tính năng của C ++ trên đường đua cho C ++ 20.


3
Khái niệm C ++ 20: Chuyên môn hóa mẫu nào được chọn khi đối số mẫu đủ điều kiện cho nhiều khái niệm?
Được : #include <concepts> #include <iostream> template<class T> struct wrapper; template<std::signed_integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "signed_integral" << std::endl; } }; template<std::integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "integral" << std::endl; } }; int main() { wrapper<int> …





2
Tại sao khái niệm same_as kiểm tra loại bằng hai lần?
Nhìn vào khả năng triển khai của khái niệm same_as tại https://en.cppreference.com/w/cpp/con accept / same_as tôi nhận thấy điều gì đó kỳ lạ đang xảy ra. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = …
19 c++  c++20  concept 

4
Enum liên tục C ++ 11
Có cách nào để kiểm tra C ++ 11 nếu enum liên tục không? Nó hoàn toàn hợp lệ để đưa ra một giá trị enum không. Có thể có một tính năng như một đặc điểm loại trong C ++ 14, C ++ 17 hoặc có thể C ++ …
17 c++  c++11  c++14  c++17  c++20 






2
Là std :: chrono :: năm lưu trữ thực sự ít nhất 17 bit?
Từ cppreference std::chrono::years (since C++20) duration</*signed integer type of at least 17 bits*/, std::ratio<31556952>> Sử dụng libc++, có vẻ như việc lưu trữ nhấn mạnh của std::chrono::yearslà shortcó chữ ký 16 bit . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB Có …
14 c++  chrono  c++20  libc++ 

1
nếu constexpr - tại sao câu lệnh bị loại bỏ hoàn toàn được kiểm tra?
Tôi đã loay hoay với c ++ 20 consteval trong GCC 10 và đã viết mã này #include <optional> #include <tuple> #include <iostream> template <std::size_t N, typename Predicate, typename Tuple> consteval std::optional<std::size_t> find_if_impl(Predicate&& pred, Tuple&& t) noexcept { constexpr std::size_t I = std::tuple_size_v<std::decay_t<decltype(t)>> - N; if constexpr (N == 0u) …

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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.