javascript - 可以在 C++ 中模仿这种 JS 语法吗?

标签 javascript c++ syntax

所以我写了很多 JS,而且我是 this 语法功能的粉丝。我不确定this 的名称,但下面是一个示例。

object.function1().function2().function3()

我知道 JS 可以做到这一点,因为一切都被视为一流的对象。但我想知道这在 C++ 中是否可行?还有一个简短的例子是什么?

最佳答案

在C++中,this是指向实例的指针;您必须取消引用它才能返回实例:

return *this;

如果你想避免复制以便改变同一个对象,你会返回一个引用。这是一个例子:

struct X
{
    X& f() { std::cout << ++x << std::endl; return *this; }                    /*
    ^^                                      ^^^^^^^^^^^^^                      */
private:
    int x = 0;
};

int main()
{
    X x;
    x.f().f().f(); // 1 2 3
}

关于javascript - 可以在 C++ 中模仿这种 JS 语法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22135938/

相关文章:

javascript - Javascript 中的 For 循环与 while 循环

javascript - IE 不喜欢 URL 变量?

C++ 如何复制字符串中的文本(从 8 个字母到 12 个字母)

c - 初始化数组/结构的不熟悉语法,寻找解释

c++ - 异常代码的解释需要

javascript - 用于查找对象类型的 Mongodb 查询

javascript - 我正在尝试创建一个包含三个 Javascript 对象的网页

c++ - 复制 CTOR 与赋值运算符初始化对象(性能)

c++ - 在 g++ 中,何时会在模板实例化失败的错误消息中收到 <error-type>?

c - 开关盒奇怪的范围