假设我输入一个整数或整数数组或任何已知类型:
typedef int int2
然后我为int2对重载operator *,现在如果我将变量a和b初始化为int。那么a和b之间的*是否会超负荷*?
如何实现重载int,并且还使用* for int的方式。我应该创建一个新类型吗?
答案 0 :(得分:9)
假设你在谈论C ++:
运算符重载必须至少使用一个用户定义类型的参数。 typedef
不会改变任何内容,因为它不会引入新类型,只提供同义词。
答案 1 :(得分:5)
C不允许运算符重载。
答案 2 :(得分:5)
您需要的是 Strong Typedef 。
Boost提供适合您的版本,或者至少可以帮助您解决需求:
http://www.boost.org/doc/libs/1_42_0/boost/strong_typedef.hpp