草庐IT

bessel-functions

全部标签

c++ - g++ std::is_function 实现:_ArgTypes 后跟 6 个句点是什么意思?

我正在查看我的header(g++-4.5.2)中一些模板的实现,我发现了以下内容:///is_functiontemplatestructis_function:publicfalse_type{};templatestructis_function:publictrue_type{};templatestructis_function:publictrue_type{};前两个声明似乎是合理的,但我不知道第三个是如何工作的。什么是......?我在标准中寻找它,但找不到任何东西。 最佳答案 这等同于:_Res(_ArgTypes

c++ - 我应该按值还是按(右值)引用传递 std::function?

我不太明白std::function的实例实际上包含什么。按值传递还是按引用传递效率更高?以下示例中的性能影响是什么?按值:voidprintStats(std::functionprinter);...std::stringtmp;printStats([&tmp](constchar*msg){tmp+=msg;});通过右值引用:voidprintStats(std::function&&printer);...std::stringtmp;printStats([&tmp](constchar*msg){tmp+=msg;}); 最佳答案

c++ - 从 std::function::target<>() 获取的函数指针和普通函数指针有什么区别?

以下代码是从APUE复制过来的signal实现,稍作修改namespace{usingsignal_handler=void(*)(int);signal_handlersignal(sigset_tsig,signal_handler);}Signal::signal_handlerSignal::signal(sigset_tsig,void(*handler)(int)){structsigactionnewAction,oldAction;sigemptyset(&newAction.sa_mask);newAction.sa_flags=0;newAction.sa_hand

c++ - 正确使用 std::function::target

任何人都可以帮我实现下面的函数test,以便它接受任何Callable和std::function并返回true如果std::function的目标是Callable?我一直在尝试各种方法,但没有一个一直有效,我什至无法弄清楚为什么它们适用于它们确实有效的案例。#include#include#includeintfoo(int){return0;}intfaz(int){return0;}struct{intoperator()(int){return0;}}bar,baz;templatebooltest(F1&&f1,std::functionf2){//returnf2.tem

c++ - 具有自动功能的 C++17 模板参数是否允许受约束的 std::function 对象?

随着non-typetemplateargumentswithauto即将推出的C++17特性,是否有可能以能够放置例如以下函数的方式实现std::function:boolf(intn,doubled){}boolg(boolb,charc){}boolh(boolb){}进入自动模板化的std::function对象:std::functionfaa=f;//okstd::functionfia=f;//okstd::functionfda=f;//error:functiontypemismatchstd::functiongaa=g;//okstd::functionhaa=h

c++ - SFINAE : Know if a function already exist or no

基本上,我想编写这样的代码:std::vectora={54,25,32.5};std::vectorb={55,65,6};std::cout这是不可能的,因为operator没有过载所以,我编写了一个函数来完成这项工作:templatetypenameT,typename...Args>std::enable_if_t>>,std::ostream>&operatorconst&t){for(autoconst&e:t)out效果很好,但我对字符串有疑问。因为字符串是可迭代的并且字符串有operator功能。所以我测试了另一个特征,比如!is_streamable_out&&_is

c++ - 视觉口齿不清 : how to call functions in external C++ DLL

我有一个我编写的C++dll(native,而不是.net),我想使用VisualLisp的功能。任何人都可以指出如何执行此操作的示例,或者至少要阅读哪部分文档吗? 最佳答案 我通过为我的dll编写一个activex/COM包装器解决了这个问题,我认为这应该使将来更容易链接。在theswamp上开始一个线程从好人那里得到了一些关于如何从VisualLisp调用COM的答案。作为记录,它看起来像这样://inc++...(headerandIDLfilealsoneeded)hresulttimestwo(doublein,doubl

c++ - 如何在 Visual Studio 2010 中使用 tr1 (tr1::function)?

如何开始使用VisualStudio2010的tr1功能?对于更具体的情况,我需要std::tr1::function。我试过包括#include报告失踪,而#include包括很好,​​但是当我设置这个时:std::tr1::functioncallback;我得到:1>d:\marmalade\projects\core\src\button.h(21):errorC3083:'tr1':thesymboltotheleftofa'::'mustbeatype1>d:\marmalade\projects\core\src\button.h(21):errorC2039:'func

使用 lambda 和 std::function 的 C++11 类型推断

我有以下代码片段,虽然完全微不足道,但却说明了我试图在更通用的代码中使用的模式。templateResTunary_apply(InTval,std::functionfn){returnfn(val);}我希望能够使用函数指针、仿函数、lambda等调用unary_apply:因此使用std::function将其抽象化。当我尝试按以下方式使用上述内容时,C++(g++4.7)无法执行相关类型推断:doubleblah=unary_apply(2,[](intv){return3.0*v;});失败src/fun.cpp:147:75:error:nomatchingfunction

functional-programming - 在 Kotlin 中取最后 n 个元素

我有一个列表,我想在其中应用一些转换,但不包括前2个元素。我怎样才能以最好的方式做到这一点?像这样的:list.reversed().take(list.size-2)...(mytransformations)或list.excludeFirstN(2)...(mytransformations) 最佳答案 您可以使用takeLast(n)喜欢:list.takeLast(3)但要小心,最后一个数字先表示,所以你可能需要使用reversed同样,因此您的代码可能是:list.takeLast(3).reversed()