auto_ptr array
-
You probably need something like the following: (Sample for a 3-items array)
auto_ptr<Foo> pi[3]={auto_ptr<Foo>(new Foo), auto_ptr<Foo>(new Foo), auto_ptr<Foo>(new Foo)};
:)
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain ClarkeThanks CPallini, Do we have any ways to saving typing? regards, George
-
Thanks CPallini, Do we have any ways to saving typing? regards, George
Yes: employ someone and let he/she do the job for you. :-D
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke -
Yes: employ someone and let he/she do the job for you. :-D
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain ClarkeThanks CPallini, I believe it is a limitation for initialization approach for auto_ptr array. :-) regards, George
-
Thanks CPallini, I believe it is a limitation for initialization approach for auto_ptr array. :-) regards, George
That applies to all arrays initialization. Actually I dont know if there is a smarter way to do it. :)
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke -
That applies to all arrays initialization. Actually I dont know if there is a smarter way to do it. :)
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain ClarkeNo CPallini, For a normal array, we can declare/initialize in the simple way, saving type work. Right?
int array[20] = {100}; // initialize at the same time, assign all elements to 100
regards, George
-
No CPallini, For a normal array, we can declare/initialize in the simple way, saving type work. Right?
int array[20] = {100}; // initialize at the same time, assign all elements to 100
regards, George
No George. You are wrong. Your code
int array[20] = {100};
initializes only the first element of the array (please make a test). You can indeed apply the same syntax to an
auto_ptr
array. :)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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke -
No George. You are wrong. Your code
int array[20] = {100};
initializes only the first element of the array (please make a test). You can indeed apply the same syntax to an
auto_ptr
array. :)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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain ClarkeCool, CPallini! I have tried, you are correct! regards, George
-
Hi led mike, int is just used for demo purpose. You can use user defined data types, like class Foo. How to define an array of auto_ptr and initialization at the same time? regards, George
ankita patel has given you again the answer I gave you because it is the correct answer. Who cares how to do something that shouldn't be done. I recommend you stop wasting your time with all this deep diving into subtle mechanics of something just to find the answer. Start studying Design Patterns and learn about designing maintainable flexible software. When you run into a specific situation within a real context not an imagined one, then you take the time to go deep. Until then it's a giant waste of time trying to figure out something that you will never use. Don't you think?
led mike
-
Hi _AnShUmAn_, It is not correct code. Because the destructor of auto_ptr will use delete other than delete[]. And it will lead to memory leak. Any ideas or comments? regards, George
Use Boost's scoped_array[^].
Steve
-
ankita patel has given you again the answer I gave you because it is the correct answer. Who cares how to do something that shouldn't be done. I recommend you stop wasting your time with all this deep diving into subtle mechanics of something just to find the answer. Start studying Design Patterns and learn about designing maintainable flexible software. When you run into a specific situation within a real context not an imagined one, then you take the time to go deep. Until then it's a giant waste of time trying to figure out something that you will never use. Don't you think?
led mike
Thanks all the same led mike! regards, George
-
Use Boost's scoped_array[^].
Steve
Good resource, Steve! Unfortunately, in current project, I have to use MSVC, and it does not support shared_ptr. :-) regards, George