猿问

C++里的代码 inline sp() : m_ptr(0) { } 这个“:”是什么意思啊?

C++里的代码 inline sp() : m_ptr(0) { } 这个“:”是什么意思啊?


料青山看我应如是
浏览 79回答 3
3回答

回首忆惘然

inline是内联的意思,可以让后面定义的函数进入内存,加速这个函数的运行速度,不需要再每次调用每次查找了,sp()是函数名,冒号后面的是对m_ptr赋初值0.C语言中冒号后面的语句一般是赋初值语句,冒号可以告诉编译器后面语句是干啥的

胡子哥哥

构造函数后面加:变量(值),表示初始化列表,给成员变量初始化。这样初始化比赋值操作效率高。

春华秋衣

sp()和m_ptr()是两个类的构造函数,并且m_ptr是sp的父类。如果你调用sp x=new sp();在运行sp构造函数的指令之前会以m_ptr(0)的形式调用父类的构造函数,0为传给父类的构造函数的参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Kotlin
我要回答