如果编程语言具有数据类型但没有运算符重载,是否仍可以将其称为“类型化”?

时间:2019-04-27 21:13:01

标签: c types compiler-construction programming-languages terminology

如果我们使用一种编程语言来强迫您设置变量的数据类型,例如:

int i;
float f;

但是没有运算符重载,因此例如,不要使用+运算符将int添加到int或将float添加到{{1 }},您将需要一个运算符将float添加到int(例如:int),并让另一个运算符将+添加到{ {1}}(例如:float)。

请注意,该编程语言仍然具有类型安全性,因此,例如,如果您尝试使用float运算符向#+添加#+,则会出现编译错误

这样的编程语言是否仍可以称为“类型化”编程语言?

2 个答案:

答案 0 :(得分:3)

好的。键入与每个值都有关联的特定类型(int,float,string)有关。与可以在这些值上使用的操作无关。

答案 1 :(得分:-1)

简短答案:是

更长的答案:键入语言使您可以指定变量基于其类型的值的域。

运算符重载可能需要一种类型化的语言,但不属于类型化语言的定义。

因此,如果它具有基于类型的运算符重载,则它是一种类型化语言,但是如果它没有运算符重载,则它仍可能是一种类型化语言。

相关问题