tôi có chức năng như thế này:Làm thế nào để tạo ra chuỗi số nguyên tùy chỉnh trong C++
template <typename ... Types>
void foo(const Types & ... values)
{
// expected that 'values' is sequence like
// '1, customvalue1, 2, customvalue2, 3,...'
}
Và chức năng thứ hai:
template <typename ... Types>
void bar(const Types & ... values)
{
// where 'values' are any variables
// some magic here
foo((int_seq<sizeof...(Types)>, values)...);
}
Tôi muốn vượt qua bất kỳ chuỗi các biến để thanh, để trình tự này chuyển đổi thành chuỗi như '1, value1, 2, value2, 3, value3'. Vì vậy, mỗi giá trị theo sau số của nó trong chuỗi cơ sở. Nhưng tôi không thể tạo mã số ma thuật ' này để biến đổi chuỗi trên giai đoạn biên dịch giữa hai trạng thái này.
Tôi giả định rằng 'bar' được cho là gọi' foo'? Không gọi chính nó một cách đệ quy? –
bạn đã xem xét một mảng kết hợp chưa? Điều này có vẻ giống như một vấn đề đối với loại cấu trúc dữ liệu này –
Có, tôi đã sai, dĩ nhiên là 'foo', không phải 'bar' –