Я пытаюсь написать систему сокетов, которая должна обрабатывать чрезвычайно длинные сообщения (она обрабатывает чат-систему). Я пытаюсь использовать const int для инициализации массива, который компилируется, но я предупрежден о том, что ISO C++ запрещает его. Может ли кто-то пролить свет на ситуацию?C++ Variable Array
Вот пример того, как он будет использоваться (чтобы избежать записи оставшейся в байтах системы с несколькими приемами (что у меня уже есть, но я считаю, что это было бы более эффективно)).
const int BUFFERLEN = atoi(api_GETVALUE(1,inbuffer).c_str()); //that is my API call
if(BUFFERLEN != -1) { //it returns "-1" on error
char INBUFFER[BUFFERLEN];
recv(SOCK,INBUFFER,sizeof(INBUFFER),0);
}
Это приемлемо вообще, или я должен придерживаться метода многократного приема-до-завершения?
Спасибо, Collin
Либо делать несколько меньших, либо динамически выделять буфер. –