函数参数问题

[复制链接]
 楼主| sinadz 发表于 2012-4-24 18:14 | 显示全部楼层 |阅读模式
在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这个类不是需要模板来实例化的的吗,在这里指代参数类型的时候为什么又可以免掉呢?
hsbjb 发表于 2012-4-24 18:26 | 显示全部楼层
const的参数只是在程序运行时参数的值不被调用的函数改变,不一定要加const的
火箭球迷 发表于 2012-4-24 18:35 | 显示全部楼层
放在哪里都无所谓,比如
const char *

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

char * const就不一样了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部