Continuando con temas relacionados con miembros de una estructura, ahora me pregunto si sería posible asociar los datos a una máscara de forma que ésta última me dijese cuales datos serán visibles y cuales no.
He implementado la idea asociando la máscara (un array de bool) con un array de int.....claro, esto es lo fácil
Código C++:
Ver original
#include <iostream> using namespace std; void ver(const bool *mascara, const int *secuencia,int numColumnas); const int numColumnas=5; int main() { bool mascara[numColumnas]= {true,true,true,false,false}; int numeros[numColumnas]= {4,8,6,3,7}; ver(mascara,numeros,numColumnas); return 0; } void ver(const bool *mascara, const int *secuencia,int numColumnas) { for (int i=0; i<numColumnas; i++) { if (mascara[i]) { cout<<secuencia[i]<<" - "; } } }
Pero lo que realmente me interesa sería implementar esa idea para los miembros de una estructura:
Algo como:
Código C++:
Ver original
#include <iostream> using namespace std; struct datos { int dato1; float dato2; char dato3; char dato4[5]; bool dato5; datos():dato1(3),dato2(2.33),dato3('X'),dato5(true) { } }; void ver(const bool *mascara, const datos&D,int numColumnas); const int numColumnas=5; int main() { datos D; bool mascara[numColumnas]= {true,true,true,false,false}; ver(mascara,D,numColumnas); return 0; } void ver(const bool *mascara, const datos&D,int numColumnas) { //realmente la idea sería intentar que los datos de la estructura se pudieran ligar //al array que sirve de máscara para poder en un sólo bucle discriminar los datos //visibles y los que no lo serán...vamos...como si los miembros de la estructura //fueran un array }