问题描述
- 请问下面这段代码的意思:C++ 中的冒号操作符
- 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;}
解决方案
用过C#和Java么?这是迭代器循环。表示遍历一个集合,对每个元素循环一次。C++ 11新增的。
类似C#的
foreach (var item in list) ...
或者Java的
for (sometype item : list)
解决方案二:
bool PacketRouter::TimeToSendPacket,,这是规定的写法
冒号表示PacketRouter这个类有个函数TimeToSendPacket。返回bool 。参数uint32_t ssrc。。
解决方案三:
这个是c++11新语法。表示遍历rtp_modules_链表,每个元素放到rtp_module变量中。
解决方案四:
再次感谢大家,我搜了一下for range,这篇文章写得不错:
http://blog.csdn.net/hackmind/article/details/24329957
解决方案五:
多谢回答,两个冒号我知道,for循环里的那个冒号是什么意思:
for (auto* rtp_module : rtp_modules_)
解决方案六:
for (auto* rtp_module : rtp_modules_) -- for 循环,语法与java5很相近。对集合元素的循环遍历
解决方案七:
用过C#和Java么?这是迭代器循环。表示遍历一个集合,对每个元素循环一次。C++ 11新增的。
解决方案八:
http://www.ibm.com/developerworks/cn/java/j-forin.html
时间: 2024-10-04 12:00:47