字符串常量与模板参数
字符串常量与模板参数
小龙Jason 发表于4年前
字符串常量与模板参数
  • 发表于 4年前
  • 阅读 28
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

在模板推导的过程中,只有当模板参数不是以引用方式传递时,字符串才会退化为指针。

因此,对于同一个字符串常量,传给不同的函数模板,一个以引用的方式,一个以传值的方式,二者得到的型别不同。

下面的代码来自于《C++ Template》

#include <typeinfo>
#include <iostream>

template <typename T>
void ref(const T& x)
{
	std::cout << typeid(x).name() << std::endl;
}

template <typename T>
void noref(T x)
{
	std::cout << typeid(x).name() << std::endl;
}


int _tmain(int argc, _TCHAR* argv[])
{
	ref("hello");  //char const [6]
	noref("hello"); //	char const *
}

共有 人打赏支持
粉丝 0
博文 8
码字总数 2794
×
小龙Jason
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: