cpp_arrays_test
Vectors, Matrices, Tensors in C++


cpp_arrays_test, C++ programs which illustrate the use of vectors, matrices and tensors.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

cpp_arrays_test is available in a C version and a C++ version.

Related Data and Programs:

cpp_test, C++ programs which illustrate some features of the C++ language;

cpp_intrinsics_test, a C++ program which illustrates the use of intrinsic functions.

cpp_random_test, C++ programs which illustrate the use of the random number generator routines.

Reference:

  1. Paul Deitel, Harvey Deitel,
    C++: How to Program,
    Seventh Edition,
    Prentice Hall, 2011,
    ISBN: 978-013-216541-9,
    LC: QA76.73.C153.D45.
  2. Steve Oaulline,
    Practical C++ Programming,
    Second Edition,
    O'Reilly, 2003,
    ISBN: 1-56592-139-9,
    LC: QA76.73.C15.O84.
  3. Bjarne Stroustrup,
    The C++ Programming Language,
    Addison-Wesley, 2000,
    ISBN: 0-201-70073-5,
    LC: QA76.73.C153.S77.

Source Code:

ARRAYS is a very simple example of how to set up arrays in C++. In particular, we note that vectors are easy to declare with fixed or dynamic dimensions, but that arrays of dimension 2 or greater aren't easy to declare dynamically. The example shows how to work around this by settting up a two dimensional array as a one dimensional vector.

POINTERS shows how a two-dimensional array can be defined, either as row or column major, using pointers. Unfortunately, the column major format means that the double indexing lists the column index first!

TENSOR_EXAMPLE1 demonstrates how a 3D array can be created by repeated used of the vector operator.

TENSOR_EXAMPLE2 demonstrates how a 3D array can be created by using a class child of std::vector, which implements a 3D array as a linear vector. This is probably more efficient.


Last revised on 22 February 2020.