Vectors, Matrices, Tensors in C++

CPP_ARRAYS is a directory of C++ programs which illustrate the use of vectors, matrices and tensors.


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


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

Related Data and Programs:

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

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

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


  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.

Examples and Tests:

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.

You can go up one level to the C++ source codes.

Last revised on 07 October 2012.