“静态类型”和“自由形式”对C ++意味着什么?

时间:2010-12-30 21:41:10

标签: c++

C++ tag wiki中,提到了

  

C ++是一种静态类型,自由格式,多范式,编译的通用编程语言。

有人可以解释一下“静态打字”和“自由形式”吗?

感谢。

3 个答案:

答案 0 :(得分:16)

静态类型语言是一种语言,其中每个变量在编译时都有一个类型。在C ++中,这意味着您必须告诉编译器每个变量的类型 - 即,它是int,还是double或字符串等。这与动态类型的语言(如JavaScript或PHP)形成对比,其中每个变量都是可以保存任何类型,并且该类型可以在运行时更改。

自由形式的语言是指对各种符号彼此之间的关系没有要求的语言。您可以根据需要添加任意数量的空格(或省略任何您不喜欢的空格)。您不需要在新行上启动语句,并且可以在任何您喜欢的位置放置代码块。这导致了一些关于写C ++的正确方法的神圣战争,但我实际上喜欢它给你的自由。

希望这有帮助!

答案 1 :(得分:8)

Statically typed”表示在编译时检查类型,而不是运行时。例如,如果您编写的类没有foo()方法,那么如果您尝试在该类的对象上调用foo(),则会出现编译时错误。在动态类型语言(例如Ruby)中,您仍然会收到错误,但仅限于运行时。

Free-form”表示您可以随意使用空格(即将整个程序写在一行上,使用不均匀的缩进,放置大量空白行等)。这与像Python这样的语言形成鲜明对比,其中空白具有语义意义。

答案 2 :(得分:4)

静态类型:编译器知道所有变量的类型。与Python和Common Lisp等语言相比,变量类型可以在运行时更改。

自由格式:没有特定的空白要求。这与旧式FORTRAN和COBOL相反,所以我不确定这个名称是否有用。