如果我们使用一种编程语言来强迫您设置变量的数据类型,例如:
int i;
float f;
但是没有运算符重载,因此例如,不要使用+
运算符将int
添加到int
或将float
添加到{{1 }},您将需要一个运算符将float
添加到int
(例如:int
),并让另一个运算符将+
添加到{ {1}}(例如:float
)。
请注意,该编程语言仍然具有类型安全性,因此,例如,如果您尝试使用float
运算符向#+
添加#+
,则会出现编译错误
这样的编程语言是否仍可以称为“类型化”编程语言?
答案 0 :(得分:3)
好的。键入与每个值都有关联的特定类型(int,float,string)有关。与可以在这些值上使用的操作无关。
答案 1 :(得分:-1)
简短答案:是
更长的答案:键入语言使您可以指定变量基于其类型的值的域。
运算符重载可能需要一种类型化的语言,但不属于类型化语言的定义。
因此,如果它具有基于类型的运算符重载,则它是一种类型化语言,但是如果它没有运算符重载,则它仍可能是一种类型化语言。