C++计算整数数组中的字节数

Ric*_*Sch 1 c++ sockets arrays

这可能是也可能不是一个非常简单的问题,但我想知道要调用什么函数以便在任何给定时间计算出数组中有多少字节.例如,我如何知道下面代码中send命令中的第三个参数?

int *array= new int[500];
memset(array, 0, sizeof(array));

//newsockfd is declared elsewhere in the code
send(newsockfd, array, _______, 0);
Run Code Online (Sandbox Code Playgroud)

Cam*_*ron 5

数组的大小是不变的(它只是一大块内存).

您需要在一个单独的变量中跟踪数组中有多少元素是有效的.

正如其他人所指出的那样,最后一个参数memset应该是你想要设置为0的字节数 - 但array它只是一个指针,所以sizeof(array)只产生4(或64位平台上的8).同样,您需要手动传入sizeof(int) * 500(或使用500的常量,因此如果更改,您不必更新多个位置的数字).