Boost logo

Ublas :

From: Peter Schmitteckert (peter_at_[hidden])
Date: 2005-08-19 07:36:56


Salut,

On Fri, 19 Aug 2005, Gunter Winkler wrote:

[...]
> ALLOC::size_type, T, bool) [with T = int, ALLOC =
std::allocator<int>]«:
> boost/numeric/ublas/storage.hpp:110: Warnung: `int*data'
> might be used uninitialized in this function
>
>
> We should change line 110
> pointer data = 0;
>
> otherwise data_ will have random content if the new size is zero.
> (Alternatively we can add an else clause to "if (size) { ... }" )

If it's never referenced is not a Problem.
Never being referenced means not before an initialization.

BTW, we should use
  pointer data = NULL;

I'd like to remark, that pointer may not have random content,
but it's use it undefined.

e.g. a code like

double a;
double b;

b=a;
b=1.0;

std::cout << b << std::endl;

is undefined and can (and will on some compilers with -O3)
lead to crashes somewhere else in the code.

Best wishes,
Peter

_______________________________________

Dr. Peter Schmitteckert
TKM / CFN University of Karlsruhe
++49 721 608 3363