小编Fre*_*oul的帖子

如何在内存中存储vector <string>

我正在开展一个项目,我绝对需要在内存中连续存储数据.我想存储一些(最多100个)字符串(我不知道每个字符串的实际大小).所以我将创建一个包含100个元素的字符串向量.

std::vector<std::string> vect;
vect.reserve(100)
Run Code Online (Sandbox Code Playgroud)

但是String可以是任何大小的.那么它是怎样工作的?每次更改字符串时,我的矢量是否重新分配?或者是一个std :: string就像一个指向字符串第一个字符的指针,就像一个char*将是一个C字符串?

c++ memory

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

ZMQ异步,它到底是如何工作的?

我目前正在从事一个需要快速网络管理的项目。为此,我选择了 0MQ,但在阅读了 0MQ 给出的文档和示例后。关于 0MQ 的异步部分,我很难理解。

是否为 ROUTER 或 DEALER 套接字上的每个请求创建任何线程?

我经常犯将异步和多线程结合起来的错误。当我查看zmqsocket的 man 时,我发现对于 DEALER 或 ROUTER 套接字,传入路由设置为“公平队列”。由此我得出结论,异步意味着您可以在套接字上写入或读取,而无需等待答案来发送另一个请求(所有内容都排队并同步处理)。

所以这是问题,

0MQ 是否针对每个请求创建了任何线程?(我不是在谈论0MQ内部使用的后台线程来管理消息队列)。

c c++ multithreading asynchronous zeromq

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

标签 统计

c++ ×2

asynchronous ×1

c ×1

memory ×1

multithreading ×1

zeromq ×1