Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Cấp phát động trong lập trình C++

  1. #1
    Ngày gia nhập
    10 2008
    Nơi ở
    07T1 - DUT
    Bài viết
    101

    Question Cấp phát động trong lập trình C++

    Em mới học qua C nên không biết trong C++ thi muốn cấp phát lại bộ nhớ đã cấp phát ta làm như thế nào. Ở C là realloc() còn ở C++ là gì? Em chỉ biết có new() và delete() thôi.

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    TP.HCM
    Bài viết
    199

    thì là nó đó, new và delete

  3. #3
    Ngày gia nhập
    10 2008
    Nơi ở
    07T1 - DUT
    Bài viết
    101

    Nhưng ở đây ý em là nếu vùng nhớ đó đã được dùng thì sao?
    VD nếu em cấp phát 1 mảng 10 ô nhớ kiểu int và dùng hết,bây giờ do nhu cầu nên muốn thêm 1 ô nhớ nữa -> 11 ô nhớ tổng cộng nhưng dữ liệu 10 ô nhớ trước không bị mất! Nếu dùng new để cấp phát lại 11 ô nhớ cho cùng biến con trỏ đó thì mất hết dữ liệu trước sao anh!

  4. #4
    Ngày gia nhập
    01 2009
    Bài viết
    89

    Trong trường hợp của bạn thì tốt nhất dùng lớp chứa template chuẩn như vector.

  5. #5
    Ngày gia nhập
    10 2008
    Nơi ở
    07T1 - DUT
    Bài viết
    101

    Thực sự là mình mới làm quen với C++ nên chưa rõ lắm! Bạn ngocbig có thể giải thích rõ thêm được không.Cảm ơn!
    Đã được chỉnh sửa lần cuối bởi hoangsan_c : 06-02-2009 lúc 04:31 PM.

  6. #6
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Mặc định Cấp phát động trong lập trình C++

    Hàm realloc bản chất là cấp pháp lại 1 vùng nhớ khác và copy các dữ liệu ở vùng nhớ cũ lên nó. Sau đó xóa vùng nhớ cũ này đi.

    C++ chỉ có 2 toán tử new và delete tuy nhiên bạn vẫn có thể viết lại 1 hàm khác mà.

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    nếu cậu dùng kiểu chuỗi ký tự thì đây là 1 sự thay thế http://forums.congdongcviet.com/showthread.php?t=11874
    còn nếu dùng mảng số thì đây
    http://forums.congdongcviet.com/showthread.php?t=5227
    nếu dùng danh sách liên kết thì List
    nếu dùng Stack thì Stack
    ....
    Có rất nhiều trong STL

  8. #8
    Ngày gia nhập
    10 2008
    Nơi ở
    07T1 - DUT
    Bài viết
    101

    Cảm ơn mấy bạn nhiều! Cái này mình chưa đọc qua trong sách! Có gì xin chỉ giáo thêm!

  9. #9
    Ngày gia nhập
    10 2008
    Bài viết
    2

    oh ở trong c++ cũng vậy thôi, ham realloc dùng để cấp phát lại bộ nhớ, còn delete và free là xóa bộ nhớ.........

  10. #10
    Ngày gia nhập
    02 2009
    Bài viết
    38

    C++ có vector à ? Hồi nào tới giờ chưa nghe bao giờ
    Biết thì nói không biết thì rửa tai lắng nghe.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn