Java为什么在Cpp中不使用像'Typedef'这样的关键字

时间:2018-09-06 02:17:04

标签: java c++

据我了解,关键字typedef用于为特定原始类型创建别名。

例如   The C++ Example Code

此外,通过强调Java中不同的包名称来区分具有相同类名称的两个对象。

例如

com.aic.jon.Car car = new Car();
  com.aic.chupengyu.Car car = new Car();

但是,与C ++相比,它太复杂了。我们可以使用'typedef'来解决此问题,而代码要少于Java。使用Java中的关键字“ extends”,我们还可以创建扩展相同超类的不同对象,但是Java为什么不采用关键字“ typedef”?在Java中使用typedef似乎更加简单和灵活。

1 个答案:

答案 0 :(得分:1)

除了方便起见,typedef还提供了一种使代码跨平台的方法。 C ++中的原始类型是平台相关的。但是,大多数平台/编译器都会提供标准标头的定义,这些标头定义与平台无关的类型(例如,uint32_t,以及与准无关的类型,例如,size_t。不同的机器将具有不同的typedef来完成这项工作,但是最终结果是依赖于它们的代码可以更轻松地移植。

Java已经为其所有原始类型提供了一个与平台无关的定义,因此,实际上不需要等效于typedef的任何东西。