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




1
std :: is_constructible trả về giá trị không nhất quán cho hàm tạo riêng
Các quy tắc mà std::is_constructiblexử lý các nhà xây dựng tư nhân là gì? Cho mã sau: #include <iostream> class Class { private: Class() { } }; template <typename T> class Test { public: static void test() { std::cout //<< std::is_constructible<Class>::value << std::is_constructible<T>::value << std::endl; } }; int main() { …
13 c++  typetraits 

1
Tại sao static_cast cần thiết trong việc triển khai is_nothrow_constructible của gcc?
Lấy từ việc thực hiện GCC type_traitstại sao static_castcần thiết ở đây? template <typename _Tp, typename... _Args> struct __is_nt_constructible_impl : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> {}; template <typename _Tp, typename _Arg> struct __is_nt_constructible_impl<_Tp, _Arg> : public integral_constant<bool, // Why is `static_cast` needed here? noexcept(static_cast<_Tp>(declval<_Arg>()))> {};

3
Tại sao không bắt buộc phải sử dụng tên chữ cho các loại phụ thuộc trong trường hợp sau?
Tôi đã đọc về việc loại bỏ tham chiếu của một loại, ở đây . Nó đưa ra ví dụ sau: #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, …

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.