Announcement

Collapse
No announcement yet.

Cho hỏi lện tương ứng vs realloc trong c++

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] Cho hỏi lện tương ứng vs realloc trong c++

    Trong c có hàm realloc rất hay nhưng em dùng thì thấy khi dùng chung vs malloc thì ms ổn thôi.chứ nếu trên new mà dưới realloc là có bệnh.cụ thể thì e ko tiện up.nhưng trong c++ có hàm nào tương đương vs realloc ko.dùng cho đồng bộ vs new-del,thank

  • #2
    Không được và không nên trộn giữa 2 bộ (realloc, malloc, free) với bộ (new, delete).

    Để có được dữ liệu cấp phát linh động hơn, thì bạn dùng List, Stack, Queue, ....
    nguyendauit@gmail.com

    Comment


    • #3
      Originally posted by 10520100 View Post
      Không được và không nên trộn giữa 2 bộ (realloc, malloc, free) với bộ (new, delete).

      Để có được dữ liệu cấp phát linh động hơn, thì bạn dùng List, Stack, Queue, ....
      là sao a ?chuong trinh nho nho thi can gi phai dung may thang nay cho phuc tap anh

      Comment


      • #4
        Originally posted by 13520797 View Post
        là sao a ?chuong trinh nho nho thi can gi phai dung may thang nay cho phuc tap anh
        Bạn nên tham khảo thêm chức năng của hàm "realloc". Nếu đã là chương trình nhỏ thì cần gì phải dùng hàm "realloc" nhỉ?
        I don't know the secret to success, but the secret to failure is trying to please everyone

        Comment


        • #5
          Originally posted by tara95 View Post
          Bạn nên tham khảo thêm chức năng của hàm "realloc". Nếu đã là chương trình nhỏ thì cần gì phải dùng hàm "realloc" nhỉ?
          bạn nói có phần đúng.nhưng realloc thì để làm gì chắc bạn cũng thừa biết.mình dùng cũng nhiều khi hk1 kia.vấn đề chính là realloc nó có lợi của nó(ntn nào thì công dụng của nó đấy)
          ko đòi hỏi khi cần thêm thì phải chép đi chép lại.vì nếu dùng linked-list hay máy cái kia thì có lẽ nó hợp vs quản lý struct lớn chứa đa thông tin,..v.v còn h cần dùng 1 cái bé bé mà khi người dùng ưng test xem chương trình này kia ko lẽ bạn cấp 1 khối to đùng cho cái mà 1 người khác chỉ dùng 1 ít?vấn đề là có thằng nào giống thằng này mà đồng bộ vs new-del thôi.(cái chính là cái đơn giản của nó ấy),chứ còn muốn thì cũng dc mà dài dòng.ko cần thiết

          Comment


          • #6
            Theo mình thấy thì hiện tại C++ chưa có hàm với chức năng tương tự vậy như trong C. Khi sử dụng bộ nhớ động (new-delete), nếu muốn mở rộng vùng nhớ thì chỉ còn cách cấp phát vùng nhớ mới, sao chép dữ liệu từ vùng nhớ cũ qua mà thôi. Cậu có thể tham khảo thêm <vector>, <string> trong thư viện STL.
            I don't know the secret to success, but the secret to failure is trying to please everyone

            Comment


            • #7
              Originally posted by tara95 View Post
              Theo mình thấy thì hiện tại C++ chưa có hàm với chức năng tương tự vậy như trong C. Khi sử dụng bộ nhớ động (new-delete), nếu muốn mở rộng vùng nhớ thì chỉ còn cách cấp phát vùng nhớ mới, sao chép dữ liệu từ vùng nhớ cũ qua mà thôi. Cậu có thể tham khảo thêm <vector>, <string> trong thư viện STL.
              string thì cúm rùi.vector thì ms xem.đành xài malloc hoài cổ vậy

              Comment


              • #8
                Originally posted by 13520797 View Post
                bạn nói có phần đúng.nhưng realloc thì để làm gì chắc bạn cũng thừa biết.mình dùng cũng nhiều khi hk1 kia.vấn đề chính là realloc nó có lợi của nó(ntn nào thì công dụng của nó đấy)
                ko đòi hỏi khi cần thêm thì phải chép đi chép lại.vì nếu dùng linked-list hay máy cái kia thì có lẽ nó hợp vs quản lý struct lớn chứa đa thông tin,..v.v còn h cần dùng 1 cái bé bé mà khi người dùng ưng test xem chương trình này kia ko lẽ bạn cấp 1 khối to đùng cho cái mà 1 người khác chỉ dùng 1 ít?vấn đề là có thằng nào giống thằng này mà đồng bộ vs new-del thôi.(cái chính là cái đơn giản của nó ấy),chứ còn muốn thì cũng dc mà dài dòng.ko cần thiết
                Lưu ý bạn phần in đỏ. Trích từ http://www.cplusplus.com/reference/cstdlib/realloc/ "The function may move the memory block to a new location (whose address is returned by the function)."
                Bạn dùng list thì dữ liệu mới không phải chép đi chép lại đấy.
                Khi ta chào đời, ta khóc mọi người cười
                Sống sao để khi chết đi ta cười còn mọi người khóc.


                Cuộc đời chỉ đáng sống khi còn bạn bè, người thân và quan trọng nhất là ta còn có thể đem lại niềm vui cho người khác

                Comment


                • #9
                  Thì khi cần mở rộng thì cứ new mới rồi copy data qua đó. ( nhớ delete vùng nhớ cũ )
                  Realloc trường hợp xấu nhất nó cũng cấp phát mới và copy data qua thôi.
                  Last edited by 08520016; 29-05-2014, 02:16.

                  Im a british accent lover

                  Comment

                  LHQC

                  Collapse
                  Working...
                  X