c++-请问下面这段代码的意思:C++ 中的冒号操作符

问题描述

请问下面这段代码的意思: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

c++-请问下面这段代码的意思:C++ 中的冒号操作符的相关文章

代码提示出错-请问我这段代码哪里出错了,为什么总是异常,我是个新手

问题描述 请问我这段代码哪里出错了,为什么总是异常,我是个新手 package control; import javax.swing.JFrame public class DebugTest { public static void main(String[] args) { int[] ints= new int[20]; try { for (int i=0; i < 20; i ++) { ints[i] = i+1; Ststem.out.println(i+1); } } catc

c++-OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来

问题描述 OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来 #include #include #include #include #include const GLint screenWidth = 640; const GLint screenHeight = 480; void myInit(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluO

java 继承 多态-请问下这段代码正确的原因,为什么父类可以调用抽象方法,执行的是子类重写的方法

问题描述 请问下这段代码正确的原因,为什么父类可以调用抽象方法,执行的是子类重写的方法 public class TestA { public static void main(String[] args) { TestA a = new TestA(); a.start(); } public void start(){ B b = new B(); b.funA(); } public abstract class A { public void funA(){ System.out.pri

c++-C++ : 请问下面这段代码为何会出现double free 的问题?

问题描述 C++ : 请问下面这段代码为何会出现double free 的问题? 下面这段代码对象在析构的时候判断了指针是否为空再进行操作,为何还会出现double free 的问题? #include<iostream> using namespace std; class base { public: base(int *a):p(a) {} base(int num) :p(new int(num)) {} base(base& mid) :p(mid.p) { cout <

线程-请问为什么第二段代码无法正确运行?

问题描述 请问为什么第二段代码无法正确运行? package threadlearning; public class BankThread { public static void main(String[] args) { // TODO Auto-generated method stub ChuHu ch1=new ChuHu(); ChuHu ch2=new ChuHu(); Thread t1=new Thread(ch1,"aaa"); Thread t2=new Thr

【新手学习】请问下面这段代码是进行了so加密吗?

问题描述 [新手学习]请问下面这段代码是进行了so加密吗? 请问是so加密还是什么加密方式? 我按照之前的sig参数分析文档,计算出的sig并不正确. 可能方向错误了,不知道是不是so加密? 解决方案 http://bbs.csdn.net/topics/390995938 解决方案二: 我在很多網站看過,這個應該就是了 解决方案三: 我怎么看那只是一个URL编码 解决方案四: 根据这里的http://bbs.csdn.net/topics/391046866代码,没见到Native方法,应该没

通过一段代码简单说js中的this的使用

本文通过一段代码与大家简单说说js中this的使用及相关问题,感兴趣的朋友可以参考下哈,希望对大家有所帮助   今天有朋友说遇到如下代码,让我帮解释原因 复制代码 代码如下: var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; } }; alert(object.get

请问一下这段代码是什么意思啊!很菜鸟的问题

问题描述 byte[]buf=Encoding.Default.GetBytes(txtContent.Text);buf没有定义啊,怎么可以直接用啊,前面也没有定义啊.这是引用吗?谢谢大家. 解决方案 解决方案二:xiexiedajia解决方案三:byte[]buf已经是定义了...以数组的形式定义Encoding.Default.GetBytes(txtContent.Text);是将txtContent.Text转为二进制序列...解决方案四:byte[]buf这个不就是定义的么?解决方案

请问下这段代码执行什么功能

问题描述 classBase{protectedintb_data;publicvoidf(intnum1,intnum2){System.out.println(this.b_data+"Base.f()"+num1+""+num2);}publicvoidg(intnum1,intnum2){System.out.println(this.b_data+"Base.g()"+num1+""+num2);}publicBas