Hi everyone,
Since istringstream objects are not assignable, I'm using the following code
to allocate some dynamically. My question is: Is this the correct way of
doing it? Am I deleting all the allocated memory correctly? Or am I missing
something glaringly simple?
Thanks in advance,
S. Armondi
std::istringstr eam** ArgStream;
std::string* TempStrings;
try
{
ArgStream = new std::istringstr eam*[CurrentCommandN umArgs];
TempStrings = new std::string[CurrentCommandN umArgs];
}
catch (const std::bad_alloc& exception)
{
REPORT(exceptio n.what());
return NULL;
}
for (int n = 0; n < CurrentCommandN umArgs; ++n)
{
std::string::si ze_type pos = Arguments.find_ first_of(',');
TempStrings[n] = Arguments.subst r(0, pos);
Arguments.erase (0, ++pos);
std::cout<< (TempStrings[n]) << '\n';
try
{
ArgStream[n] = new std::istringstr eam(TempStrings[n]);
}
catch (const std::bad_alloc& exception)
{
REPORT(exceptio n.what());
return NULL;
}
}
delete[] TempStrings;
// The istringstream objects get used here
for (n = 0; n < CurrentCommandN umArgs; ++n)
delete ArgStream[n];
delete[] ArgStream;
--
To contact me by email, remove _NOSPAM_ from the address.
Since istringstream objects are not assignable, I'm using the following code
to allocate some dynamically. My question is: Is this the correct way of
doing it? Am I deleting all the allocated memory correctly? Or am I missing
something glaringly simple?
Thanks in advance,
S. Armondi
std::istringstr eam** ArgStream;
std::string* TempStrings;
try
{
ArgStream = new std::istringstr eam*[CurrentCommandN umArgs];
TempStrings = new std::string[CurrentCommandN umArgs];
}
catch (const std::bad_alloc& exception)
{
REPORT(exceptio n.what());
return NULL;
}
for (int n = 0; n < CurrentCommandN umArgs; ++n)
{
std::string::si ze_type pos = Arguments.find_ first_of(',');
TempStrings[n] = Arguments.subst r(0, pos);
Arguments.erase (0, ++pos);
std::cout<< (TempStrings[n]) << '\n';
try
{
ArgStream[n] = new std::istringstr eam(TempStrings[n]);
}
catch (const std::bad_alloc& exception)
{
REPORT(exceptio n.what());
return NULL;
}
}
delete[] TempStrings;
// The istringstream objects get used here
for (n = 0; n < CurrentCommandN umArgs; ++n)
delete ArgStream[n];
delete[] ArgStream;
--
To contact me by email, remove _NOSPAM_ from the address.
Comment