gpt4 book ai didi

c++ - "this"是否也适配函数指针?

转载 作者:行者123 更新时间:2023-11-28 00:44:39 24 4
gpt4 key购买 nike

Java 有一个允许方法通过“this()”引用调用自身的结构。 此刻我忘记了这个约定的名称。编辑:称为构造函数委派,如下所述。将仅适用于构造函数,而不适用于一般的方法,因为我弄错了。

C++ 是否提供了对自身的引用,而不是特别是自身?

例如,我有一个具有多个重载等的函数。

void DoesSomething(){
this->(default1, default2);
}

void DoesSomething(int myValue1){
this->(myValue1, default2);
}

void DoesSomething(int myValue1, int myValue2){
//Do stuff
}

最佳答案

您需要明确指定函数名称:

void DoesSomething(){
this->DoesSomething(default1, default2);
}

void DoesSomething(int myValue1){
this->DoesSomething(myValue1, default2);
}

void DoesSomething(int myValue1, int myValue2){
//Do stuff
}

正如您所描述的那样,根据上下文没有隐含的关于​​具有给定名称的其他函数的知识。

请注意,在 Java 中,这仅适用于构造函数,并且称为 Constructor Chaining .它一般不会为方法处理此问题。

C++11 也添加了对相同概念的支持(如 delegating constructors ),尽管语法不同于 Java、C# 和其他具有此概念的语言。

对于构造函数,在C++11中,你可以这样写:

SomeType() : SomeType(42) {}

SomeType(int arg)
{
// ...

关于c++ - "this"是否也适配函数指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com