相关疑难解决方法(0)

返回类型是函数签名的一部分吗?

在C++中,返回类型是否被认为是函数签名的一部分?只修改了返回类型,不允许重载.

c++ function

66
推荐指数
2
解决办法
4万
查看次数

构造函数是函数吗?是否可以调用构造函数

我发现了这一点,其中一条用户评论说:

构造函数不能被调用,它不是函数。创建新对象时会自动调用它。

我的问题是上述评论是否正确/正确?如果是,那么为什么构造函数不被视为函数,为什么我们不能调用它?

c++ constructor function implicit

5
推荐指数
1
解决办法
1765
查看次数

构造函数,即不是特殊的成员函数,仍然是成员函数吗?

来自C++标准工作草案:

默认构造函数 ([class.default.ctor])、复制构造函数、移动构造函数 ([class.copy.ctor])、复制赋值运算符、移动赋值运算符 ([class.copy.assign]) 和预期析构函数 ([class .dtor])是特殊成员函数。

https://eel.is/c++draft/special

给出以下代码:

struct S {
    S(int, float, double);
};
Run Code Online (Sandbox Code Playgroud)

在我的理解中, 的构造函数S不是特殊的成员函数,因为它既不是默认构造函数,也不是复制构造函数,也不是移动构造函数

我想知道标准是否仍然认为构造函数是成员函数(或“唯一”的东西)。

我阅读了 C++ 工作草案中有关成员函数、特殊成员函数和构造函数的部分,但没有找到任何合理的答案来回答这个问题。我还查看了 StackOverflow,但大多数答案都指出所有构造函数都被视为特殊成员函数,这似乎与标准相矛盾。

c++ constructor function member-functions language-lawyer

4
推荐指数
1
解决办法
349
查看次数