Tôi đã học được một cách đau đớn trong vài ngày qua rất nhiều về lập trình bằng C++.
Tôi thích nó :)
Tôi biết tôi nên giải phóng bộ nhớ - quy tắc "mỗi malloc = miễn phí" hoặc "mỗi mới = xóa" hiện có trong thế giới của tôi, nhưng tôi đang sử dụng chúng cho các đối tượng khá đơn giản.
Còn vectơ thì sao? Bất cứ nơi nào tôi có thể, tôi đang sử dụng vector.clear() nhưng điều đó rõ ràng là không đủ, bởi vì tôi đang có rò rỉ bộ nhớ rất lớn.
Bạn có thể hướng dẫn tôi cách tôi nên đối xử với điều này không?Tôi có nên xóa vector <string> không?
* Chỉnh sửa
Cảm ơn, nhận xét của bạn đã làm cho tôi nghĩ về alghorithm của ứng dụng này và tôi sẽ có thể loại bỏ hoàn toàn vectơ. : O
Xin lỗi - Tôi đã bắt đầu giải thích trường hợp sử dụng của tôi ở đây là gì và tôi đã tìm ra những gì tôi thực sự cần. Nó giống như khi bạn mã 3 ngày qua trong 18 giờ một ngày: | * Chỉnh sửa 2
Điều này thật điên rồ. Bởi những thay đổi nhỏ trong mã, tôi đã loại bỏ việc sử dụng bộ nhớ từ 2x130 mb (liên tục phát triển) thành 2x13,5mb, kích thước không đổi. Cảm ơn vì đã khiến tôi suy nghĩ về điều đó theo một cách khác.
Btw. tự đánh giá mã như vậy có một cái tên - ai cũng nhớ điều đó? Đó là khi bạn hỏi bất kỳ ai (kể cả mẹ hoặc chó) và bắt đầu giải thích vấn đề của bạn là gì - và đột nhiên bạn giải quyết vấn đề 5 giờ này, chỉ bằng cách cố gắng nhìn nó từ quan điểm khác, hoặc chỉ bằng cách cố gắng tóm tắt tất cả về. Tôi thường thấy mình bị bắt trên đó ...
Vì bạn mới dùng quản lý bộ nhớ, có lẽ bạn có thể giải thích cách bạn biết mình đang bị rò rỉ bộ nhớ. Một số cách đo rò rỉ bộ nhớ không thực sự phản ánh những gì đang diễn ra. –
Bạn có thể muốn đăng một số mã mẫu về cách bạn đang sử dụng lớp vectơ. Ví dụ, bạn có vectơ của con trỏ đến các đối tượng được tạo động không? –
tốt, tôi chỉ đơn giản thấy rằng việc thực hiện kết quả ứng dụng của tôi ngày càng chiếm nhiều bộ nhớ. Tôi đang thực hiện các hoạt động khá dễ dàng (làm cho băm md5 trong 2 quy trình, gắn với mpcih2), cho thử nghiệm của tôi chính xác là 25 triệu hoạt động. Một quá trình gửi đến các gói dữ liệu khác (chuỗi) và thứ hai tính toán băm cho điều đó. Vào cuối của thực hiện, tôi có 2x 130 mb thực hiện. Đó là cách quá nhiều để được bình thường. – IamDeveloper