加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么是C中的运算符<< <>?

发布时间:2020-12-16 10:27:39 所属栏目:百科 来源:网络整理
导读:我已经在一些地方看到了这一点,并确认我并不疯狂,我 looked for other examples.显然,这也可以有其他风格,例如操作符. 然而,我在任何地方都没有看到它是什么,所以我想我会问. 对谷歌操作符而言,这不是最简单的事情 (:-) 解决方法 在声明中的函数名称(包括运
我已经在一些地方看到了这一点,并确认我并不疯狂,我 looked for other examples.显然,这也可以有其他风格,例如操作符<>.

然而,我在任何地方都没有看到它是什么,所以我想我会问.

对谷歌操作符而言,这不是最简单的事情<< <>(:-)

解决方法

<>在声明中的函数名称(包括运算符,如运算符<<)之后,表明它是函数模板特化.例如,使用普通的功能模板:

template <typename T>
void f(T x) { }

template<>
void f<>(int x) { } // specialization for T = int

(请注意,尖括号中可能包含模板参数,具体取决于函数模板的专用方式)

<>当有一个非模板函数通常在重载决策中更好地匹配时,也可以在函数名称之后使用函数名称来显式调用函数模板:

template <typename T> 
void g(T x) { }   // (1)

void g(int x) { } // (2)

g(42);   // calls (2)
g<>(42); // calls (1)

因此,操作符<< <>不是操作符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读