读书人

const作为函数参数解决方法

发布时间: 2012-04-25 19:32:32 作者: rapoo

const作为函数参数
在boost库当中

shared_ptr & operator=(shared_ptr<Y> const & r)
{
}

const 放在这个位置是什么意思,一般来说不是应该放在:

void StringCopy(char *strDestination, const char *strSource);

这个样的位置吗


另外,可以看到在boost库当中:
shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
{
}
然而,shared_ptr这个类不是需要模板来实例化的的吗,在这里指代参数类型的时候为什么又可以免掉呢?


[解决办法]
放在哪里都无所谓,比如
const char *

char const *
是一样的,关键是看const出现在*的左边还是右边。再比如:
const char *

char * const就不一样了。
[解决办法]

探讨
但事实上,我输入的参数只是一个普通shared_ptr(没有const),由weak_ptr.lock()起来,但是在这地方却没有编译报错?

读书人网 >C++

热点推荐