Estou inicializando uma matriz de duas maneiras diferentes, dependendo de uma macro:
# if feature_enabled
const int v[4] = {1, 2, 3, 4};
#else
const int v[5] = {0, 1, 2, 3, 4};
#endif
O problema é que os dados na atribuição são na verdade matrizes grandes e, por várias razões, não é uma boa solução apenas copiar os dados com uma pequena modificação (apenas mais um elemento no início da matriz).
Fiquei me perguntando se existe uma maneira de fazer a mesma coisa que fiz aqui, sem duplicar essencialmente os últimos elementos n-1.
Respostas:
Se você não especificar o tamanho na matriz, mas permitir deduzir automaticamente, basta adicionar o 0 na frente condicionalmente:
fonte
Se você precisar manter o tamanho da matriz, então:
fonte