问题标签 [function-call-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
45 浏览

c++ - 如何使用 `Function Call Operator` 将 `rvalue` 类型加载到我的对象?

我有这样的课:

当我修改代码时,我意识到T每次尝试将对象设置到某个(i,j)位置时,都会复制存储的类型对象。如果可能的话,我想使用移动语义并避免这种不必要的复制?是否可以通过像上面的代码中添加第三个运算符来解决这个问题?

我的目标是在代码中访问这样的MyClass实例:

我怎样才能做到这一点?

0 投票
4 回答
8372 浏览

operator-overloading - 如何为不同类型的参数实现一个结构的 Fn 特征?

我有一个简单的分类器:

如果观察值小于 ,分类器返回 0,如果大于,则返回x1 x

我想为此分类器实现调用运算符。但是,该函数应该能够将浮点数或向量作为参数。在向量的情况下,输出是 0 或 1 的向量,其大小与输入向量相同:

Fn在这种情况下如何编写实现?

0 投票
2 回答
2174 浏览

c - 在函数调用中,什么是运算符,什么是操作数?

我正在尝试了解 C 的一些基础知识。KRC 的 The C Programming Language 说

函数调用是一个后缀表达式,称为函数指示符,后跟括号,其中包含可能为空的、以逗号分隔的赋值表达式列表 (Par.A7.17),它们构成函数的参数。

  1. 在函数调用中,什么是运算符,什么是操作数?

    ()运营商吗?

    函数名是操作数吗?

    参数是否在()操作数内?

  2. 函数指示符是函数调用的同义词吗?

谢谢。

0 投票
3 回答
2238 浏览

c++ - 为什么 lambda 的调用运算符隐式为 const?

我在下面的函数中有一个小的“lambda 表达式”:

下面是为上述 lambda 表达式生成的“匿名闭包类”。

编译器生成的闭包“operator()”是隐式的 const。为什么标准委员会const默认做出来?

0 投票
1 回答
49 浏览

typescript - 如何为类声明默认函数?

C++ 中的函数调用运算符允许类像函数一样工作。我在一个日志类中使用了它,如下所示:

变成这样:

现在我想在类型脚本中使用函数调用运算符或那个方向的东西(为我的类提供默认函数),但是我们如何在类型脚本中实现这样的声明?

我们是否应该在GitHub 上提出功能请求?

0 投票
2 回答
191 浏览

c++ - 在 lambda 函数中访问周围变量时出错

这给我no viable overloaded operator[] for type 'const unordered_map<std::__cxx11::string, int>' (aka 'const unordered_map<basic_string<char>, int>')

但是,如果我不使用 [] 运算符而是使用 .at() 进行访问。代码编译。

我不知道为什么。我检查了 [] 运算符和 .at() :两者都具有相同的方法签名。

0 投票
1 回答
114 浏览

c++ - 检查一个类是否有可能重载的函数调用运算符

我想知道是否可以实现一个特征C++20来检查一个类型T是否具有可能重载/可能模板化的函数调用运算符:operator()

这样下面的代码就会导致正确的结果:

目前它打印01000而不是01111. 如果它在最广泛的意义上不可行,则可以假设它T是可继承的,如果有帮助的话。只要完全符合C++20标准,最奇怪的模板元编程技巧都是受欢迎的。

0 投票
1 回答
161 浏览

c++ - 有没有办法使用对象及其非空参数列表调用运算符生成 std​​::thread ?

一般来说,我是std::threadC++11 的新手。尝试使用https://en.cppreference.com/w/cpp/thread/thread/thread中的示例,我试图查看是否可以std::thread使用具有非空参数列表的类成员函数调用运算符生成一个如下面的代码所示:

错误消息很神秘:

相反,空参数列表调用运算符工作正常:

我的第一次尝试是否可行 - 我只是有语法错误吗?有没有办法使用对象及其非空参数列表调用运算符生成 std​​::thread ?


我相信这个问题与Start thread with member function不同,因为这个问题专门关于使用成员对象调用运算符生成线程我知道这可以用 lambdas 完成。