Eigen :: array là gì (không phải Eigen :: Array)
Tôi đang sử dụng thư viện tensor eigen và đối với tôi dường như phương thức shuffle () muốn nhập một đối tượng Eigen :: array <type, int>.
Trong quá trình triển khai của mình, tôi có một std :: danh sách int mà tôi cần chuyển để xáo trộn (tất nhiên là tôi biết tham số int thứ hai (thứ hạng) chỉ khi chạy!)
Trả lời
Cách đây không lâu, mô-đun Tensor của Eigen tương thích với C ++ 03. Điều đó ngụ ý rằng std::arraykhông có sẵn. Vì lý do đó, mô-đun Tensor đã định nghĩa Eigen::arraylớp riêng của nó mà trên thực tế là một định dạng cho std::arraynếu C ++ 11 có sẵn.
Tệp không được hỗ trợ / Eigen / CXX11 / src / using / EmulateArray.h chứa một cái gì đó tổng hợp thành (mã giả)
#if C++11 not available
// Define a custom std::array like Eigen::array class
#else
template <typename T, std::size_t N> using array = std::array<T, N>;
#endif
Mô-đun Tensor đã giảm khả năng tương thích với C ++ 03 và các phần của mã này có thể bị xóa.