stl学习中的一个小疑问
时间:2008-07-18 16:10:19
来源:论坛整理 作者: 编辑:chinaitzhe
obj * volatile * my_free_list,这句话中两个*是两个指针吗?,还有volatile是什么用法意思,它也能做指针吗?
请具体讲解一下
网友回复:
这个声明原来的形式是:obj** my_free_list,这样的话*my_free_list可能被优化到寄存器中,从而使库代码无法lock住对它的读调用。
要声明变量必须在内存中就要用volatile修饰,这里修饰的是*my_free_list,是my_free_list数组中的一个元素,而不是数组指针,所以volatile放在两个*中间。
网友回复:兄弟,还是先别学stl的实现细节吧,太深了。
换个基础点的,收获会更多。
网友回复:有点confuse:
这是一个2级指针声明或者定义:
此处volatile和const都是修饰指针的限定符,volatile表示会变的,const表示指针不能改变
应该是用来修饰第一个*
网友回复:
不看这些配置器,能学好后面的吗,我是看的STL源码剖析。
网友回复:volatile和const相对
你obj * const * my_free_list 看得懂不?
网友回复:不看配置器,对学stl源码剖析的后面部分,是影响不大的。
只是,你连volatile都还没有把握,看stl源码剖析也实在太早了点。
关键字:stl,学习,一个,疑问,
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面