语言的自动类型
编程语言为了方便,会默认建立一套变量默认类型机制。更高级的编程语言或脚本语言为了简化,可能引入自动类型。
- C/C++98 auto关键字修饰自动存储的局部变量,事实上没有多大用,因为默认的局部变量就是自动存储,用它多此一举,唯一的好处是完善了变量存储种类。C++11修改auto的含义,用于编译器推导变量类型。 更像脚本语言,有编译期保驾护航无需担忧类型错误。当然auto还可以推导函数返回值,可以和指针、const一起使用,这些细节再次不赘述。
- C++11引入了decltype(<expr>)推导类型,这种方法在STL模板方法类型定义和返回特别有效。比如一个传入参数类型T1和其他类型T2的方法,不知道临时变量和返回值类型,用decltype让编译器推导类型。
- Java/C#/Go/Rust/JS/Python均有自动类型推导,可能使用或者不使用任何关键字。
- C语言以前的编译型语言不支持类型推导。
- ObjC内置类型没有自动推导,但对于对象有id关键字有点自动推导的意思。
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!