小编stu*_*mer的帖子

为什么认为gethostbyname和gethostbyaddr已过时?

手册页gethostbyname(3)指出功能gethostbynamegethostbyaddr已过时,应改为使用getaddrinfo(3)和getnameinfo(3)。但是,它没有解释前者过时的原因。谁能给我指出一些进一步说明问题的资源?

sockets linux network-programming

2
推荐指数
1
解决办法
1153
查看次数

在向量引用上调用vector :: reserve()

我已经提出了一个解释现象的理论,但我希望有一个知识渊博的人来承担我.

在客户端代码中,我有:

vector<bool> candidates;
fillCandidates(candidates);
Run Code Online (Sandbox Code Playgroud)

在被叫方,我有:

void fillCandidates(vector<bool>& candidates)
{
    // reserve space for two elements
    candidates.reserve(2);
    candidates[0] = true;
    candidates[1] = false;
    // here, candidates.size() == 0
}
Run Code Online (Sandbox Code Playgroud)

当我在函数返回后检查候选人的大小时,它是0!发生了什么?我正在使用64位Ubuntu 12.04上的CMake脚本调用gcc 4.6.3(但我认为所有这些实际上都是无关紧要的).

注意:我提供了我的解释作为答案.

编辑:接受的答案和评论在时间上打败了我,所以我的解释不会添加任何东西.

c++ stl stdvector

1
推荐指数
1
解决办法
167
查看次数

标签 统计

c++ ×1

linux ×1

network-programming ×1

sockets ×1

stdvector ×1

stl ×1