在 C++程序中添加逻辑流程控制
在计算机程序中,除了常见的执行流程控制,还有逻辑流程控制;有时,执行流程即为
逻辑流程,但在大多数情况下还是有所区别的,例如,假定有一个 Web 服务器使用同步
套接字读取 HTTP 请求,那么会编写如下的代码:
void read(HTTP_REQUEST& http_request)
{
read(http_request.header);
read(http_request.body, http_request.header);
}
void read(HTTP_REQUEST_HEADER& header)
{
string line = read_line();
parse_request_link(line, header.method, header.uri,
header.version);
while (TRUE)
{
line = read_line();
if (line.empty())
break;
parse_header_field(line, header);
}
}
void read(BYTE[]& body, HTTP_REQUEST_HEADER& header)
{
string transfer_encoding = header.fields['Transfer-Encoding'];
if (transfer_encoding != b.chunkedb.)
body = read_bytes(header.fields['Content-Length']);
else
{
while (TRUE)
{
string chunk_header = read_line();