在编程语言中,“construct”是什么意思?

19
我经常在编程读物中看到“构造”一词。我正在阅读的《C语言程序设计》Stephen Koching著中也多次使用该术语。例如,在循环章节中,书中写道:
“在开发程序时,有时希望在循环结束时进行测试而不是在循环开始时进行测试。自然而然,C语言提供了一个特殊的语言结构来处理这种情况。这个循环语句被称为do语句。”
在这种情况下,“构造”一词是什么意思?它与其他语言中的对象“构造函数”有何关系吗?

8
更好的词汇替代"thing"。 - Steve Cox
我投票关闭此问题,因为它似乎是一个纯粹关于术语(更适合 [cs.se])或英语语言(更适合 [english.se] 或 [ell.se],如果不是词典)的问题。 - Karl Knechtel
7个回答

13

在这种情况下,您可以用syntax代替construct这个词。

在其他语言中,“construct”这个词是否与“constructor”对象有关?

不是。这两个术语是不同的。C语言中没有类似构造函数(constructor)这样的东西。


2
@Justin:十七个问题,众多答案;只有一个被采纳。想要偶尔点击“采纳”吗?或者解释一下为什么没有一个答案符合您的口味? - Jongware

10

这是一个通用术语,通常指的是语言中包含的某些特定语法,以执行某些任务(例如在末尾带有条件的循环)。它与构造函数没有任何关系。


  1. 除了构造函数在许多面向对象语言中是一种特殊的语言结构之外。

1
构造函数是语言结构,比如C++或Java之类的语言,不是吗? - rodrigo
当然,在那个意义上是有关系的,但我觉得这样做只会让提问者更加困惑。:-) - Matteo Italia

6
“construct”这个词在其他语言中是否与“constructor(构造函数)”这个对象有关系?
这个句子使用了“construct”作为名词,而非动词的意思:
“construct (n) ”- 某人头脑中形成的某些东西(如一个想法或者理论)。
在这种情况下,“construct”指的是一种抽象的方式来描述特定语言中的某些东西(即一个循环),并且是基于该特定语言的语法。 “Language construct”指的是“使用该语言做某件事的方法”。

很棒的解释。 - FurkanO

2
一个构造体只是给定编程语言——语言的语法所使用的一种概念实现机制。
在您的情况下,这个概念是循环,它的构造体是C编程语言中实现它的方式。
编程语言为各种编程概念提供了构造体,定义了这些编程概念在语言中的实现方式。

"构造体"这个词与其他语言中的"构造函数"有关系吗?

这两个术语不同,“构造函数”用于面向对象的编程语言(如Java),而在C编程语言中没有构造函数。

0
首先,记住C语言不是面向对象编程语言。构造函数是面向对象编程术语。因此,在这种情况下,构造指的是语法和预定义关键字,如dowhile

0
简而言之,编程语言中的所有内置功能(如数组、循环、if else语句)都是语言结构。

0
“构造”一词在计算机编程中有非常广泛或普遍的含义。我希望这些想法能够帮助解释编程中“构造”一词的含义。
计算机程序是一系列计算机能够理解并能够执行(执行或执行)的指令列表。最简单的程序将是一个列表 - 让我们称之为语句 - 计算机将按顺序执行此列表中的语句,从第一个到最后一个,然后结束。但那将非常有限制性 - 以至于我认为计算机永远不会成为更多的简单计算器。简单计算器和计算机之间的根本区别之一是语句不必按顺序执行。序列可以通过“特殊”指令(语句)被中断,这些指令可以将执行流从一个流转移到一个完全不同的流,其具有完全不同的议程。
这是通过方法(函数或过程)完成的第一种明显方式。调用方法时,执行流将从一个语句流转移到一个完全不同的语句流,通常与它来自的流不相关。如果接受了这个概念,那么我认为调用方法的指令也可以被视为“构造”。
让我们暂时把讨论转移到“代码块”上。 像C、C++或Java这样的编程语言中,成对的大括号用于标识代码块。而正是代码块将程序分成不同的进程或过程。由while()循环引导的代码块与方法一样有效,因为它打断了程序的执行流程。各种类别的运算符也是如此。例如,“new”会将语句执行流程转到构造函数。因此,我们有了所有这些不同的语法表达式,它们有一个共同点——它们都会改变执行流程,否则执行流程会按顺序执行代码语句,没有任何中断。
因此,我建议“构造”这个词是一个有用的集体名词,包括所有这些不同和多样化的语法表达式,例如if() for() switch()等,它们使用不同类别的运算符来执行在它们各自的代码块中定义的功能。期待听到其他意见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接