Click here to Skip to main content
15,921,905 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: CString Pin
raju_shiva25-Aug-10 22:20
raju_shiva25-Aug-10 22:20 
GeneralRe: CString Pin
Shivanand Gupta25-Aug-10 8:55
Shivanand Gupta25-Aug-10 8:55 
QuestionUsing DeleteVolumeMountPoint function. Pin
dipuks24-Aug-10 11:53
dipuks24-Aug-10 11:53 
AnswerRe: Using DeleteVolumeMountPoint function. Pin
Peter_in_278024-Aug-10 13:22
professionalPeter_in_278024-Aug-10 13:22 
AnswerRe: Using DeleteVolumeMountPoint function. Pin
Sauro Viti24-Aug-10 21:11
professionalSauro Viti24-Aug-10 21:11 
GeneralRe: Using DeleteVolumeMountPoint function. Pin
dipuks25-Aug-10 2:45
dipuks25-Aug-10 2:45 
QuestionTrouble with VirtualAlloc Pin
garyflet24-Aug-10 8:30
garyflet24-Aug-10 8:30 
AnswerRe: Trouble with VirtualAlloc Pin
Luc Pattyn24-Aug-10 9:24
sitebuilderLuc Pattyn24-Aug-10 9:24 
GeneralRe: Trouble with VirtualAlloc Pin
garyflet24-Aug-10 10:08
garyflet24-Aug-10 10:08 
AnswerRe: Trouble with VirtualAlloc Pin
Luc Pattyn24-Aug-10 10:15
sitebuilderLuc Pattyn24-Aug-10 10:15 
AnswerRe: Trouble with VirtualAlloc Pin
norish24-Aug-10 19:24
norish24-Aug-10 19:24 
AnswerRe: Trouble with VirtualAlloc Pin
Aescleal25-Aug-10 0:55
Aescleal25-Aug-10 0:55 
QuestionMessage Removed Pin
24-Aug-10 6:19
garyflet24-Aug-10 6:19 
AnswerMessage Removed Pin
24-Aug-10 6:53
garyflet24-Aug-10 6:53 
GeneralRe: [Solved] Enabling SE_LOCK_MEMORY_NAME privilege Pin
Maximilien25-Aug-10 3:47
Maximilien25-Aug-10 3:47 
QuestionReusing an Incremented Variable within a Single Statement Pin
Skippums24-Aug-10 5:24
Skippums24-Aug-10 5:24 
AnswerRe: Reusing an Incremented Variable within a Single Statement Pin
Sauro Viti24-Aug-10 5:41
professionalSauro Viti24-Aug-10 5:41 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Skippums24-Aug-10 6:26
Skippums24-Aug-10 6:26 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
norish24-Aug-10 19:30
norish24-Aug-10 19:30 
AnswerRe: Reusing an Incremented Variable within a Single Statement Pin
Luc Pattyn24-Aug-10 5:50
sitebuilderLuc Pattyn24-Aug-10 5:50 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Skippums24-Aug-10 6:15
Skippums24-Aug-10 6:15 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Luc Pattyn24-Aug-10 6:33
sitebuilderLuc Pattyn24-Aug-10 6:33 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Skippums24-Aug-10 6:54
Skippums24-Aug-10 6:54 
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Aescleal24-Aug-10 6:42
Aescleal24-Aug-10 6:42 
Okay, my mind is completely boggled by this code...

- you allocate an intrinsic array of size whatever
- you decrement the pointer to the array
- you then manually copy another array into this one starting at the same position you allocated the memory at

What's wrong with...

int *src_start = ... // from API
int *src_end = ... // from API

int *p = new int[ src_end - src_start ];
std::copy( src_start, src_end, p );
int *p_to_1_based_alias = p - 1;


If that doesn't at least perform as well as your handrolled loop then trade your compiler in for a new one. You can also get rid of any explicit memory management using a vector.

Another idea would be to just front end the array you get back from the API and convert the index:

template<std::size_t N, typename T>
class N_based_array
{
    public:
        N_based_array( T *data ) : data_( data ) {}

        T &operator[]( std::size_t index )
        {
            return data_[ index - N ];
        }

	private:
		T *data_;
};


Cheers,

Ash
GeneralRe: Reusing an Incremented Variable within a Single Statement Pin
Skippums24-Aug-10 7:06
Skippums24-Aug-10 7:06 

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.