Click here to Skip to main content
15,887,383 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionRestricting rights to delete a dynamic array ? [modified] Pin
doug251-Jan-10 12:35
doug251-Jan-10 12:35 
AnswerRe: Restricting rights to delete a dynamic array ? Pin
«_Superman_»1-Jan-10 14:33
professional«_Superman_»1-Jan-10 14:33 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug251-Jan-10 16:28
doug251-Jan-10 16:28 
AnswerRe: Restricting rights to delete a dynamic array ? Pin
Moak3-Jan-10 11:05
Moak3-Jan-10 11:05 
GeneralRe: Restricting rights to delete a dynamic array ? [modified] Pin
doug254-Jan-10 9:10
doug254-Jan-10 9:10 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
Moak4-Jan-10 12:01
Moak4-Jan-10 12:01 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug254-Jan-10 12:27
doug254-Jan-10 12:27 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug255-Jan-10 2:40
doug255-Jan-10 2:40 
I forgot STL meant standard template library.

I had a look at some implementations of smart pointers and found some of the techniques interesting but tending on ugly then I thought of a pretty ideal simple solution to the problem. This class will work to allow elements in a dynamic array to be modified while preventing the user from allocating / deallocating memory for the array itself :

template<class TKey, class TValue>
class SpecialMap
{
public:

	template<class TKey, class TValue>
	class InternalArray
	{
	protected:
		friend SpecialMap<TKey, TValue>;
		TValue* pElements;
	public:
		TValue & operator[](UINT nIndex)const {return pElements[nIndex];}
	};


So a user knows they shouldn't manage the memory for the array.

And it's still possible to use the array in functions requiring a void* as I mentioned for example by using &internalArray[0].

For what my program's supposed to do I think it would be a great deal more convenient using my custom container than standard ones but I will try to stick to the standards when possible.
GeneralRe: Restricting rights to delete a dynamic array ? Pin
Moak5-Jan-10 3:41
Moak5-Jan-10 3:41 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug255-Jan-10 15:10
doug255-Jan-10 15:10 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug255-Jan-10 16:44
doug255-Jan-10 16:44 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
Moak5-Jan-10 23:16
Moak5-Jan-10 23:16 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug256-Jan-10 3:43
doug256-Jan-10 3:43 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
Moak6-Jan-10 12:51
Moak6-Jan-10 12:51 
GeneralRe: Restricting rights to delete a dynamic array ? [modified] Pin
doug256-Jan-10 16:14
doug256-Jan-10 16:14 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
Moak7-Jan-10 1:03
Moak7-Jan-10 1:03 
GeneralRe: Restricting rights to delete a dynamic array ? Pin
doug257-Jan-10 11:38
doug257-Jan-10 11:38 
Questioncommunication between objects Pin
Alex80gbg1-Jan-10 8:44
Alex80gbg1-Jan-10 8:44 
AnswerRe: communication between objects Pin
Rozis2-Jan-10 8:17
Rozis2-Jan-10 8:17 
GeneralRe: communication between objects Pin
Alex80gbg2-Jan-10 11:52
Alex80gbg2-Jan-10 11:52 
QuestionLNK2019 for XmlLite Pin
A&Ms1-Jan-10 8:30
A&Ms1-Jan-10 8:30 
AnswerRe: LNK2019 for XmlLite Pin
A&Ms1-Jan-10 11:14
A&Ms1-Jan-10 11:14 
GeneralRe: LNK2019 for XmlLite Pin
conrad Braam3-Jan-10 4:04
conrad Braam3-Jan-10 4:04 
QuestionPort 7078 and 7077 blocked in Vista Pin
Larry Mills Sr1-Jan-10 6:00
Larry Mills Sr1-Jan-10 6:00 
QuestionNeed help with member function pointer Pin
anbluemoon31-Dec-09 19:18
anbluemoon31-Dec-09 19:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.