【发布时间】:2022-02-01 08:14:03
【问题描述】:
在下面的代码中,我接收来自客户端的请求,将它们放在我的服务器类上的一个 json 对象上并将其发送到推送器(直接连接到网站,将我的数据放在那里以便我可以搜索数据容易地) 代码工作得很好,但是我的经理说我需要在这段代码中通过引用传递 json,我不知道该怎么做。 在服务器类上:
grpc::Status RouteGuideImpl::PubEvent(grpc::ServerContext *context,
const events::PubEventRequest *request,
events::PubEventResponse *response){
for(int i=0; i<request->event_size();i++){
nhollman::json object;
auto message = request->events(i);
object["uuid"]=message.uuid();
object["topic"]=message.type();
pusher.jsonCollector(obj);
}
...
}
关于 Pusher 类:
private:
nholmann::json queue = nlohmann::json::array();
public:
void Pusher::jsonCollector(nlohmann::json dump){
queue.push_back(dump);
}
void Pusher::curlPusher(){
std::string str = queue.dump();
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, str.data());
...
}
据我所知,我需要通过引用发送 json 对象。我该怎么做?
【问题讨论】:
-
通过引用传递参数是每个 C++ 程序员都应该知道的基本知识之一。获取some good C++ books 并重新学习基础知识。
-
我习惯了 java 和 python,所以我对指针和数组的整个概念都是指针等感到有点痛苦。
-
在 C++ 中,数组可以衰减指向指针(指向数组的第一个元素),但数组本身不是指针。如果您的任务是使用 C++ 编程,您的公司应该为您提供学习它的资源。就像我之前链接的一些书一样。
标签: c++ json grpc pass-by-reference