草庐IT

function-centered

全部标签

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()

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()

c++ - 为什么 __PRETTY_FUNCTION__ 被称为 __PRETTY_FUNCTION__?

我看到__PRETTY_FUNCTION__在本站的问题解答中用了很多,我明白这个函数的用处,但为什么叫__PRETTY_FUNCTION__呢?这不是一个丑陋的功能,但也不是很漂亮。 最佳答案 我认为它被称为__PRETTY_FUNCTION__因为它是一个“装饰”的__FUNCTION__(至少在C++中,在C中它们是等价的)。在C++中,还显示了返回类型和参数类型。请注意,__PRETTY_FUNCTION__和__FUNCTION__都不是C,而是GNUC。__func__是C。

c++ - std::function 可以序列化吗?

这是一个理论问题。假设有一些对象,其中包含订阅这些对象事件的回调函数列表。现在我们要将这些对象存储在磁盘上。std::function是否可序列化? 最佳答案 没有。每当使用类型删除(即,将实现细节隐藏在接口(interface)后面)时,在不知道对象的动态类型的情况下唯一可用的操作就是接口(interface)提供的操作。在C++标准中没有序列化,也没有简单的方法来序列化函数(没有反射),因此std::function接口(interface)不提供序列化。另一方面,没有什么能阻止您使用提供序列化支持的Callback基类。

c++ - std::function 中的可变模板参数匹配

我有以下代码:#include#includetemplatevoidfunc(std::functionx){}voidf(double){}intmain(){//func(f);//compileerrorhereinthevariadiccasefunc(std::function(f));}我有两个问题:1.我不明白为什么func(f);行给我一个编译错误/Users/vlad/minimal.cpp:10:5:error:nomatchingfunctionforcallto'func'func(f);//compileerrorhereinthevariadiccase^

c++ - 嵌套类奇怪函数查找: surrounding class functions hide global functions

我有以下简化代码namespaceNamespace{intfoo(){return1;}classClass{public:intfoo()const{return2;}classNested{public:Nested(){cout我得到了这个错误:error:cannotcallmemberfunction‘intNamespace::Class::foo()const’withoutobject:cout似乎编译器选择了非静态intNamespace::Class::foo()const而不是全局函数intNamespace::foo()。但是怎么能指望其他类的非静态函数可以在

c++ - 类导出错误(错误 C2470 : looks like a function definition)

我无法导出类:#ifndefSDBIDI#defineSDBIDI#ifndefSDBIDI_FLAG#defineSDBIDI_ORIENT__declspec(dllimport)#else#defineSDBIDI_ORIENT__declspec(dllexport)#endif#include"TCInfoSuVars.h"//classishere!SDBIDI_ORIENTintmyFoo(FILE*file);//exportingfunction#endifTCInfoSuVars.h中的类定义#pragmaonce#include#includeclassSDBID