这个JS语法可以用C++模仿吗?
Can this JS syntax be mimicked in C++
所以我写了很多JS,我是语法的这个功能的粉丝。我不确定这会叫什么,但下面是一个例子。
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
}
你的意思是这样的:
class A{
public:
A& foo(){ return *this; };
A& bar() { return *this; };
};
然后
A a;
a.foo().bar();
相关文章:
- JS相等运算符(如===)是否可以使用embind类型
- 在 ubuntu 上安装 node js pulsar 客户端
- 如何在 Arduino 字符串的开头添加元素.类似于 JS unshift();
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- 如何在 Cheerp/js 中迭代动态命名的对象?
- 如何与 Cheerp/js 中的 extern 变量接口?
- 在 node.js 中将缓冲区从 C++ 转换为 UTF-8 字符串
- glfw 的基本设置会导致与 emscripten 生成的 js 文件中的事件侦听器有关的运行时错误
- 如何在C++中使用带有SFML的http reqest从节点.js服务器获取数据?
- 使用 Node.js N-API 调用 C 函数时,不会显示预期的输出
- 将数据从 OpenCV C++传递到 NodeJS/JS |电子
- C++ - 实现JS的setTimeout的现代方法
- 节点.js HTTP 无法通过套接字接收来自C++客户端的请求
- 如何使用 v8 本机插件将 C++ 数组交付到 Node.js
- 将二进制字符串/文件内容从 c++ 传递到节点 js
- 有没有类似的函数,比如 c++ 中的 JS Array.prototype.map?
- C++ 和 node.js 之间的 RSA 加密
- 从C++回调函数发出节点.js事件
- node.js Nan:在函数C++调用 JavaScript 回调
- 迭代 Napi::对象属性(键)在 Node.js C++ N-API 中