Có std::array<T, N>::size(), nhưng nó không tĩnh, vì vậy nó đòi hỏi một thể hiện của std::array. Có cách nào để lấy giá trị mà nó trả về (là Ncủa std::array<T, N>) mà không phải xây dựng một thể hiện của mảng không? Đối với một mảng bình thường, tôi có thể đã sử dụng sizeof, nhưng tôi thấy không có gì đảm bảo đó sizeof(std::array<T, N>) == N * sizeof(T)là sự thật.
@ShadowRanger Bởi vì
—
NathanOliver
sizeof(std::array<T, N>) == N * sizeof(T)không phải là sự thật.
Bởi vì mảng có thể được gõ ở nơi khác hoặc được truyền làm đối số cho mẫu.
—
Dragonroot
Nếu bạn muốn biết số lượng phần tử, chỉ cần sử dụng
—
JohnFilleau
N.
@dragonroot Điểm của tất cả điều này là gì? Nếu bạn đã phải
—
Rémy Lebeau
Nbắt đầu với, không cần phải trải qua tất cả điều này để có được Ngián tiếp, hoặc để xác nhận điều đó N==N. Trường hợp sử dụng thực tế mà bạn đang cố gắng giải quyết là gì?
N, tại sao bạn cần phải yêu cầuarraysao chép nó cho bạn?