Có cách sửa chữa kích thước của vec-tơ và vẫn thay đổi nội dung không?sửa (khóa) kích thước của tiêu chuẩn :: vector
Tôi đã thử tạo một vector const const std::vector<int> vec(10);
nhưng điều đó ngăn tôi thay đổi các giá trị.
vec[3] = 3;
cho lỗi trình biên dịch: gán vị trí chỉ đọc.
Tôi cũng đã thử với một tham chiếu const để một vector không const
std::vector<int> vec(10);
const std::vector<int>& vecref(vec);
đó cho cùng một lỗi biên dịch.
Tôi muốn có thể sửa kích thước véc-tơ trên khai báo hoặc sau giai đoạn khởi tạo. Tôi có thể sử dụng một mảng cũ, nhưng tôi muốn có thể sử dụng các thuật toán vectơ.
Tôi đang sử dụng g ++ nếu điều đó tạo ra bất kỳ sự khác biệt nào.
gì "thuật toán vector" Bạn muốn sử dụng không?Bất cứ điều gì trong '' làm việc với một std :: vector có kích thước cố định, sẽ làm việc với một mảng đơn giản, vì các thuật toán đối phó trong các trình lặp hơn là các thùng chứa. –
Tôi đang sử dụng 'find_if',' for_each' và một vài thứ khác. Tôi đã không nhận ra rằng tôi có thể sử dụng chúng với các mảng đơn giản. – DanS
Nếu bạn tìm thấy ở đây là một câu trả lời tốt, bạn nên chấp nhận một :) –