Chủ đề: Vấn đề bộ nhớ động khi thoát hàm
-
29-05-2014, 04:07 PM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Vấn đề bộ nhớ động khi thoát hàm
Chào mọi người, mình có vấn đề như sau, mong gỡ rối giùm minh:
Đại loại mình có 1 lớp có thành phần là động, dùng hàm friend cộng 2 đối tượng a và b của lớp đó, trong hàm friend đó thì có khai báo thêm 1 đối tượng c của lớp đó (để trả về sau khi dùng hàm). Trong hàm friend đó mình có cấp phát động cho thằng c. Hàm hủy thì mình delete thành phần động. Sau khi chạy thì báo lỗi, nếu xóa hàm hủy đi thì chạy bình thường. Như vậy là mình đã mắc lỗi leak memory. Vậy có giải pháp nào vừa nhận được cái trả về, vừa xóa thành phần động đi để khỏi bị lỗi này.
P/s: Tự nhiên giờ mới để ý đến cái này.View more random threads:
- lỗi c/c++ trên win8 64bit
- [C++]Tối ưu trong vòng lặp
- xuất âm thanh trong c++
- Mảng quản lý Sinh Viên bị sai !
- cách giải mã cây huffman
- [ Solved ]Thắc mắc về
trong OOP. - Giai Phương trình Ma Trận
- Help !!!!select sort bằng đệ quy !!
- thắc mắc về cách dùng mảng kiểu char!!!
- lỗi khi tạo thư viện trong C bằng dev C++
-
29-05-2014, 04:36 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Mình thì thấy không sử dụng các toán tử tính toán (so sánh thì vẫn để lại) đi là cách hay nhất [IMG]images/smilies/smile.png[/IMG]
Vì không có cái use-case nào cần đến chúng cả.
Còn hàm trả về một đối tượng thì sẽ mắc lỗi là new và delete không chung hàm (vì suy cho cùng thì new vẫn được gọi trong hàm).
-
29-05-2014, 05:10 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
code ví dụ cụ thể đi.
-
30-05-2014, 11:15 AM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi prog10
- - - Nội dung đã được cập nhật ngày 30-05-2014 lúc 04:15 AM - - -
Gửi bởi INTP
-
30-05-2014, 01:52 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi INTP
-
30-05-2014, 02:59 PM #6
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
viết toán tử += trước, rồi viết toán tử + sau.
c = a + b thì trước tiên tạo c copy từ a, sau đó gọi c += b, trả về c là xong.
vd a là mảng [1,2,3,4], b là mảng [4,3,2,1]
tạo c copy từ a: [1,2,3,4]
gọi c += b, c thành mảng [5,5,5,5]
trả về c.
nếu mảng ko trùng số phần tử thì c copy từ thằng nào có số phần tử lớn hơn.
xã hội vững mạnh, nhu cầu mặc đẹp của con người ngày càng cao. ngành công nghiệp thời trang cũng đang vững mạnh chóng vánh. những nhà máy gia công hàng may mặc chẳng thể đóng góp lặng thầm vào sự...
Tìm xưởng may gia công tại TP Hồ...