Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. memory leak in the code?

memory leak in the code?

Scheduled Pinned Locked Moved C / C++ / MFC
performancequestion
51 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Hamid Taebi

    Why you didnt use like this code try { int * a= new int[N]; int * b= new int[M]; } catch (bad_alloc&) { cout <<"Error allocating memory!"; }

    G Offline
    G Offline
    George_George
    wrote on last edited by
    #16

    Hi Hamid, I am confused. My question is about whether we need to delete a or b if bad_alloc happens, does your reply has anything related to my question? :-) regards, George

    H 1 Reply Last reply
    0
    • CPalliniC CPallini

      Yes. :)

      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
      [my articles]

      G Offline
      G Offline
      George_George
      wrote on last edited by
      #17

      Thanks for your confirmation, CPallini! regards, George

      1 Reply Last reply
      0
      • G George_George

        Hi Hamid, I am confused. My question is about whether we need to delete a or b if bad_alloc happens, does your reply has anything related to my question? :-) regards, George

        H Offline
        H Offline
        Hamid Taebi
        wrote on last edited by
        #18

        My reply was for check does it with success or no (and my suggestion is when you want to allocate or convert use of try/catch block) and when you got error means that it doesnt allocate any thing to variable.

        G 1 Reply Last reply
        0
        • G George_George

          Thanks pierre_ribery, I want to confirm with you that your point is we need to delete a or b if they are successful allocated, even if bad_alloc happens (may be caused by other statements), right? regards, George

          P Offline
          P Offline
          pierre_ribery
          wrote on last edited by
          #19

          Yes that was exactly my point! If you have allocated memory, then you have to delete it. Therefore it is vital to initialize your pointers to 0 before using them. Cheers, Pierre

          G 1 Reply Last reply
          0
          • H Hamid Taebi

            My reply was for check does it with success or no (and my suggestion is when you want to allocate or convert use of try/catch block) and when you got error means that it doesnt allocate any thing to variable.

            G Offline
            G Offline
            George_George
            wrote on last edited by
            #20

            Thanks Hamid, I have developed a couple of samples, which specific case do you think I need to check? regards, George

            H 1 Reply Last reply
            0
            • P pierre_ribery

              Yes that was exactly my point! If you have allocated memory, then you have to delete it. Therefore it is vital to initialize your pointers to 0 before using them. Cheers, Pierre

              G Offline
              G Offline
              George_George
              wrote on last edited by
              #21

              Thanks for your advice, Pierre! regards, George

              1 Reply Last reply
              0
              • G George_George

                Thanks Hamid, I have developed a couple of samples, which specific case do you think I need to check? regards, George

                H Offline
                H Offline
                Hamid Taebi
                wrote on last edited by
                #22

                If you check each block of your program(for exmaple is hwnd valid,etc) you can almost(not always) sure that you didnt get an exception when you run your program

                G 1 Reply Last reply
                0
                • H Hamid Taebi

                  If you check each block of your program(for exmaple is hwnd valid,etc) you can almost(not always) sure that you didnt get an exception when you run your program

                  G Offline
                  G Offline
                  George_George
                  wrote on last edited by
                  #23

                  Hi Hamid, How could I check manually which block is exception safe or not? There are too many runtime errors, like out of memory or input invalid values to new which will cause bad_alloc. :-) regards, George

                  H 1 Reply Last reply
                  0
                  • G George_George

                    Hi Hamid, How could I check manually which block is exception safe or not? There are too many runtime errors, like out of memory or input invalid values to new which will cause bad_alloc. :-) regards, George

                    H Offline
                    H Offline
                    Hamid Taebi
                    wrote on last edited by
                    #24

                    Well its simple you know some actions will be problem and you can anticipate them a short list like: (1) When you want to read a file or write a file:1-does file exist 2-does this file open with other programs 3- can you write to a file on the cd or no,does file on the floppy drive and does it write-protected or no (2) Database do you have access to database (3) when you need to a handle to a window does return value valid or its null (4) Picture does file a image file or no what was return value (5) when you want to read of internet do you have any connection to internet (6) do you have a valid pointer or its null (7) Dynamic memory,does it valid (8).... ------------------------------ After all of them you must free memory. ;)

                    G 1 Reply Last reply
                    0
                    • H Hamid Taebi

                      Well its simple you know some actions will be problem and you can anticipate them a short list like: (1) When you want to read a file or write a file:1-does file exist 2-does this file open with other programs 3- can you write to a file on the cd or no,does file on the floppy drive and does it write-protected or no (2) Database do you have access to database (3) when you need to a handle to a window does return value valid or its null (4) Picture does file a image file or no what was return value (5) when you want to read of internet do you have any connection to internet (6) do you have a valid pointer or its null (7) Dynamic memory,does it valid (8).... ------------------------------ After all of them you must free memory. ;)

                      G Offline
                      G Offline
                      George_George
                      wrote on last edited by
                      #25

                      Thanks Hamid, Comprehensive samples. regards, George

                      H 1 Reply Last reply
                      0
                      • G George_George

                        Thanks Hamid, Comprehensive samples. regards, George

                        H Offline
                        H Offline
                        Hamid Taebi
                        wrote on last edited by
                        #26

                        I glad I could help to you. ;)

                        G 1 Reply Last reply
                        0
                        • H Hamid Taebi

                          I glad I could help to you. ;)

                          G Offline
                          G Offline
                          George_George
                          wrote on last edited by
                          #27

                          Thanks Hamid, Hope we can have further discussion here -- other topics -- I will find one soon. :-) regards, George

                          H 2 Replies Last reply
                          0
                          • G George_George

                            Thanks Hamid, Hope we can have further discussion here -- other topics -- I will find one soon. :-) regards, George

                            H Offline
                            H Offline
                            Hamid Taebi
                            wrote on last edited by
                            #28

                            Very good. ;P

                            1 Reply Last reply
                            0
                            • G George_George

                              Thanks Hamid, Hope we can have further discussion here -- other topics -- I will find one soon. :-) regards, George

                              H Offline
                              H Offline
                              Hamid Taebi
                              wrote on last edited by
                              #29

                              I remember when use of controls and other objects check memory for size of program. ;)

                              G 1 Reply Last reply
                              0
                              • H Hamid Taebi

                                I remember when use of controls and other objects check memory for size of program. ;)

                                G Offline
                                G Offline
                                George_George
                                wrote on last edited by
                                #30

                                Hi Hamid, Is your comment related to my original question? My question is not talking about windows controls. :-) regards, George

                                H 1 Reply Last reply
                                0
                                • G George_George

                                  Hi Hamid, Is your comment related to my original question? My question is not talking about windows controls. :-) regards, George

                                  H Offline
                                  H Offline
                                  Hamid Taebi
                                  wrote on last edited by
                                  #31

                                  No I think its helpful if you know. :-D

                                  G 1 Reply Last reply
                                  0
                                  • H Hamid Taebi

                                    No I think its helpful if you know. :-D

                                    G Offline
                                    G Offline
                                    George_George
                                    wrote on last edited by
                                    #32

                                    Hi Hamid, I am interested. What do you mean "check memory size of a program"? Could you provide some samples or links or more descriptions please? regards, George

                                    H 1 Reply Last reply
                                    0
                                    • G George_George

                                      Hi Hamid, I am interested. What do you mean "check memory size of a program"? Could you provide some samples or links or more descriptions please? regards, George

                                      H Offline
                                      H Offline
                                      Hamid Taebi
                                      wrote on last edited by
                                      #33

                                      My intent is when run your program monitor memory for detaily of your program.

                                      G 1 Reply Last reply
                                      0
                                      • H Hamid Taebi

                                        My intent is when run your program monitor memory for detaily of your program.

                                        G Offline
                                        G Offline
                                        George_George
                                        wrote on last edited by
                                        #34

                                        Thanks Hamid, You mean in the current process, monitor the memory consumed by current process? And what is its purpose? If you have some links or samples, it will be better to understand your points. :-) regards, George

                                        H 1 Reply Last reply
                                        0
                                        • G George_George

                                          Thanks Hamid, You mean in the current process, monitor the memory consumed by current process? And what is its purpose? If you have some links or samples, it will be better to understand your points. :-) regards, George

                                          H Offline
                                          H Offline
                                          Hamid Taebi
                                          wrote on last edited by
                                          #35

                                          When run your program use of performance for check behavior of your program its good.

                                          G 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups