- template实参推导过程中从不将隐式类型转换函数纳入考虑。
- 使用friend关键字将operate*声明为友元函数,可以在推导出Rational<t>中的t的时候具现化该类,同时自动声名该友元函数,于是我们调用的就是一个普通函数了(可以使用隐式类型转换)。
- 定义于类内部的函数都会自动inline,为了不让代码膨胀,可以让friend函数不做任何事,只调用类外的辅助函数。
- 当我们编写一个class template,而它所提供之“与此template相关的”函数支持“所有参数之隐式类型转换”时,请将那些函数定义为“class template内部的friend函数”
条款46:需要类型转换时请为模板定义非成员函数
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一杯酒,藏着万千深情;一首诗,写尽繁华一生。以诗酒言年华,趁时光依然,心绪盎然,赏阅此生。