Tôi làm cách nào để sử dụng std::valarray
để lưu trữ/thao tác mảng 2D?Tôi có thể sử dụng std :: valarray để lưu trữ/thao tác một mảng 2D liền kề như thế nào?
Tôi muốn xem ví dụ về mảng 2D với các phần tử được truy cập theo chỉ mục hàng/cột. Nội dung như mã giả này:
matrix(i,j) = 42;
Ví dụ về cách khởi tạo mảng như vậy cũng sẽ đẹp.
Tôi đã biết Boost.MultiArray, Boost.uBlas và Blitz ++.
Hãy trả lời lý do tại sao tôi không nên sử dụng valarray cho trường hợp sử dụng của mình. Tuy nhiên, tôi muốn bộ nhớ cho mảng đa chiều là một khối liền kề (cột x hàng). Không có mảng lồng nhau kiểu Java.
Tại sao bạn muốn sử dụng valarray? Tôi đã không nhìn thấy nó trong sử dụng bất cứ nơi nào và chỉ biết các đối số chống lại việc sử dụng nó. –
@gf: Tôi khá hài lòng với việc tăng cường mảng đa chiều "động". Nhưng tôi tình cờ gặp một số nơi khác trong SO, và tò mò về cách nó có thể được sử dụng cho các mảng đa chiều. Ví dụ trực tuyến về việc sử dụng valarray (đặc biệt cho trường hợp sử dụng của tôi) có vẻ khan hiếm. –
@GeorgFritzsche các đối số chống lại việc sử dụng nó là gì? – johnbakers