-
将字符数组
b
转换为字符串类型,可以使用std::string(b, b + 4)
的方式。 -
在循环中不断调用 sharedConfig_ 和 node_ 的函数会影响程序性能,因此可以将它们存储在变量中,然后在循环中使用这些变量。
-
对于
objWriters_
、readers_
和m_refCount
数组的初始化,可以使用 range-based for 循环来避免使用下标索引。
下面是代码优化后的示例:
std::string channels = "0123"; // 四个通道
for (unsigned i = 0; i < cameranumber; i++)
{
std::string decoder_image_channel_i = confPtr->decode_img_channel(i) + "/refcount";
auto writer_channel = "/" + std::string(1, channels[i]) + sharedConfig_->net_obj_channel();
objWriters_[i] = node_->CreateWriter<ObjectMsg>(writer_channel); // 初始化 writer
/// thread 0-3 (recieve)
auto reader_channel = "/" + std::string(1, channels[i]) + "/" + sharedConfig_->recv_channel();
readers_[i] = node_->CreateReader<IonImg>(reader_channel, [this](const std::shared_ptr<IonImg>& ionImg){RecieveCamera(ionImg);} );
m_refCount[i] = node_->CreateWriter<data_status>(decoder_image_channel_i);
}