Item 30: Proxy classes
Though your in-laws may be one-dimensional, the world, in general, is not. Unfortunately, C++ hasn't yet caught on to that fact. At least, there's little evidence for it in the language's support for arrays. You can create two-dimensional, three-dimensional — heck, you can create n-dimensional — arrays in FORTRAN, in BASIC, even in COBOL (okay, FORTRAN only allows up to seven dimensions, but let's not quibble), but can you do it in C++? Only sometimes, and even then only sort of.
This much is legal:
int data[10][20]; // 2D array: 10 by 20
The corresponding construct using variables as dimension sizes, however, is not:
void processInput(int dim1, int dim2){ int data[dim1][dim2]; // error! array dimensions ...
Get More Effective C++ now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.