I am just getting
started with UBLAS, using VC 7.1 Boost Version 1.32.0. I know there
is a newer version version of boost. I tried it, and it exhibits the same
behavior.
My question is on
the class matrix.
The documentation
for resize and for construction seem to be inconsistent. The constructor
specifically states that the matrix values are uninitialized. ( Not default constructed
)
The documentation
for resize states that it Reallocates a
matrix
to hold
size1
rows of
size2
elements. The existing
elements of the matrix
are
preserved when specified.
Under the The Matrix
concept
The sizing constructor does not mention whether values are default initialized
or not.
Resize will
Reallocate the matrix so that it can
hold n1
rows and
n2
columns.
Erases or appends elements in order to bring the
matrix to the prescribed size. Appended elements are
value_type()
copies.
When p ==
false
then existing elements are not
preserved and elements will not appended as normal. Instead the matrix is in the
same state as that after an equivalent sizing
constructor.
So if I use the
constructor values are not default initialized. If I use the resize new
values may or may not be default initialized, depending on if I wish to preserve
old values.
Maybe matrix should behave like std::vector and
always default initialize its values.
Thank
you
Chris
Harris