PaketRouter类里有一个成员:
// Map from ssrc to sending rtp module.
std::list rtp_modules_ GUARDED_BY(crit_.get());
请问下面的函数里冒号是什么意思?
bool PacketRouter::TimeToSendPacket(uint32_t ssrc,
uint16_t sequence_number,
int64_t capture_timestamp,
bool retransmission) {
CriticalSectionScoped cs(crit_.get());
for (auto* rtp_module : rtp_modules_) {//这个冒号是什么意思?
if (rtp_module->SendingMedia() && ssrc == rtp_module->SSRC()) {
return rtp_module->TimeToSendPacket(ssrc, sequence_number,
capture_timestamp, retransmission);
}
}
return true;
}
bool PacketRouter::TimeToSendPacket,,这是规定的写法
冒号表示PacketRouter这个类有个函数TimeToSendPacket。返回bool 。参数uint32_t ssrc。。
多谢回答,两个冒号我知道,for循环里的那个冒号是什么意思:
for (auto* rtp_module : rtp_modules_)
这个是c++11新语法。表示遍历rtp_modules_链表,每个元素放到rtp_module变量中。
用过C#和Java么?这是迭代器循环。表示遍历一个集合,对每个元素循环一次。C++ 11新增的。
类似C#的
foreach (var item in list) ...
或者Java的
for (sometype item : list)
再次感谢大家,我搜了一下for range,这篇文章写得不错:
http://blog.csdn.net/hackmind/article/details/24329957
for (auto* rtp_module : rtp_modules_) -- for 循环,语法与java5很相近。对集合元素的循环遍历
用过C#和Java么?这是迭代器循环。表示遍历一个集合,对每个元素循环一次。C++ 11新增的。