问题标签 [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.
c++ - 如何使用 `Function Call Operator` 将 `rvalue` 类型加载到我的对象?
我有这样的课:
当我修改代码时,我意识到T
每次尝试将对象设置到某个(i,j)
位置时,都会复制存储的类型对象。如果可能的话,我想使用移动语义并避免这种不必要的复制?是否可以通过像上面的代码中添加第三个运算符来解决这个问题?
我的目标是在代码中访问这样的MyClass
实例:
我怎样才能做到这一点?
operator-overloading - 如何为不同类型的参数实现一个结构的 Fn 特征?
我有一个简单的分类器:
如果观察值小于 ,分类器返回 0,如果大于,则返回x
1 x
。
我想为此分类器实现调用运算符。但是,该函数应该能够将浮点数或向量作为参数。在向量的情况下,输出是 0 或 1 的向量,其大小与输入向量相同:
Fn
在这种情况下如何编写实现?
c - 在函数调用中,什么是运算符,什么是操作数?
我正在尝试了解 C 的一些基础知识。KRC 的 The C Programming Language 说
函数调用是一个后缀表达式,称为函数指示符,后跟括号,其中包含可能为空的、以逗号分隔的赋值表达式列表 (Par.A7.17),它们构成函数的参数。
在函数调用中,什么是运算符,什么是操作数?
是
()
运营商吗?函数名是操作数吗?
参数是否在
()
操作数内?- 函数指示符是函数调用的同义词吗?
谢谢。
c++ - 为什么 lambda 的调用运算符隐式为 const?
我在下面的函数中有一个小的“lambda 表达式”:
下面是为上述 lambda 表达式生成的“匿名闭包类”。
编译器生成的闭包“operator()”是隐式的 const。为什么标准委员会const
默认做出来?
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() :两者都具有相同的方法签名。
c++ - 检查一个类是否有可能重载的函数调用运算符
我想知道是否可以实现一个特征C++20
来检查一个类型T
是否具有可能重载/可能模板化的函数调用运算符:operator()
。
这样下面的代码就会导致正确的结果:
目前它打印01000
而不是01111
. 如果它在最广泛的意义上不可行,则可以假设它T
是可继承的,如果有帮助的话。只要完全符合C++20
标准,最奇怪的模板元编程技巧都是受欢迎的。
c++ - 有没有办法使用对象及其非空参数列表调用运算符生成 std::thread ?
一般来说,我是std::thread
C++11 的新手。尝试使用https://en.cppreference.com/w/cpp/thread/thread/thread中的示例,我试图查看是否可以std::thread
使用具有非空参数列表的类成员函数调用运算符生成一个如下面的代码所示:
错误消息很神秘:
相反,空参数列表调用运算符工作正常:
我的第一次尝试是否可行 - 我只是有语法错误吗?有没有办法使用对象及其非空参数列表调用运算符生成 std::thread ?
我相信这个问题与Start thread with member function不同,因为这个问题专门关于使用成员对象调用运算符生成线程我知道这可以用 lambdas 完成。