有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    根据定义C++语言的标准,构造函数没有名称,至少在声明中没有声明的标识符(声明符ID < EEM >)中没有。它是一个使用特定语法声明的匿名函数,仅在某些情况下由更特殊的语法引用。在其他语境中,同一术语Temp::Temp指的是class Temp本身

    构造函数是使用一个成员声明来声明的,该声明命名了立即注入的类名。它可以被注入的类名或与::标点一起使用的其他类型名(嵌套的名称说明符)以type::type的形式引用,最后两个::分隔的部分是相同的标记,在特定的上下文中,例如委托和继承构造函数

    这一切的原因是,在不创建新对象的情况下,无法引用构造函数,例如获取指向它的函数指针或调用它。构造函数本质上与对象生命周期有关

    在历史上,构造函数是从工厂函数演变而来的,工厂函数返回给定类型的初始化对象。这种模式在某些语言中仍然可以看到,函数名可能是别名类型,构造函数只是约定。当前的语法是从JavaScript中看到的语法演变而来的。一些早期C++编译器(考虑C,不确定cAdvices的最早版本)没有将构造函数当作成员来对待。p>

  2. # 2 楼答案

    构造函数名和类名相同只是一种约定。一个合乎逻辑的一个-认为对象可以这样构造也

    Temp t = Temp();
    

    它可能被称为constructor(),但如果你只看一个片段,你就不知道它在构造什么