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

Thẻ mẫu được sử dụng trong nhiều ngữ cảnh: lập trình chung (đặc biệt là C ++) và tạo dữ liệu / tài liệu bằng cách sử dụng các công cụ mẫu. Khi sử dụng thẻ này khi thực hiện các câu hỏi nặng - gắn thẻ ngôn ngữ mã, việc triển khai được viết bằng.



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() …

2
Loại trừ đối số mẫu C ++
Tôi có mã tìm và in ra các mẫu trùng khớp khi đi qua vùng chứa các chuỗi. In được thực hiện trong chức năng foo được templated Mật mã #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> class Container> void …

1
Sự cố trong GCC / C ++ 17 với lớp mẫu mẫu
Hãy xem xét 2 tình trạng quá tải sau đây template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Cái thứ nhất hoạt động cho các lớp thông thường, trong khi cái thứ hai hoạt động cho các mẫu không được …
10 c++  templates  gcc  clang  c++17 


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, …







1
Cố gắng hiểu mẫu và tra cứu tên
Tôi đang cố gắng để hiểu các đoạn mã sau Đoạn trích số 1 template <typename T> struct A { static constexpr int VB = T::VD; }; struct B : A<B> { }; Cả gcc9 và clang9 đều không có lỗi ở đây. Q. Tại sao mã này biên dịch? …


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.