草庐IT

anonymous-delegates

全部标签

c++ - Winsock - WSAConnect() 是否委托(delegate)给 connect()?

有谁知道WSAConnect的实现是否最终调用了标准的connect方法? 最佳答案 几乎可以肯定是相反的,因为WSAConnect支持连接数据和QOS设置,而connect不支持。另一方面,您关心的唯一原因是您是否试图拦截套接字函数而不使用为此目的设计的受支持方法。 关于c++-Winsock-WSAConnect()是否委托(delegate)给connect()?,我们在StackOverflow上找到一个类似的问题: https://stackover

C++11 在 Visual Studio 2012 中的委托(delegate)构造函数

我正在尝试在VisualStudio2012中使用委托(delegate)构造函数。以下代码在Xcode4.6中编译但在VisualStudio2012中不编译:在.h文件中classErrorReportDlg:publicQDialog{public:ErrorReportDlg(OwlExceptionPtrex,QWidget*parent);ErrorReportDlg(QWidget*parent);virtual~ErrorReportDlg();}在.cpp文件中//FWIW,OwlExceptionPtris//typdefboost::shared_ptrOwlEx

c++11: 委托(delegate)构造函数 - 无法选择构造函数模板?

这是后续问题:c++11dedicated"proxyconstructors"delegatingtoprivateuniveralreferenceconstructor?我想去掉那里使用的“enumclassDummy”。但我没有设法委托(delegate)给模板构造函数。请参见下面的代码示例。#include#include#includeclassMyClass{private:templateMyClass(T&&data):_data(std::forward(data)){std::cout(data){std::cout(std::move(data)){std::c

c++ - 使用委托(delegate)构造函数来避免泄漏

在一次谈话中,以下代码已被证明是不安全的,因为如果构造函数抛出异常,则不会调用析构函数并泄漏资源:classTwoResources{TwoResources(intx,inty):m_a(nullptr),m_b(nullptr){m_a=newA(x);m_b=newB(y);}~TwoResources(){deletem_b;deletem_a;}A*m_a;B*m_b;};建议的解决方案是使用委托(delegate)构造函数,如下所示:classTwoResources{TwoResources():m_a(nullptr),m_b(nullptr){}TwoResource

c++ - 委托(delegate)和调用父类构造函数 : How do I do both?

我想知道关于派生类构造函数的委派。当您还必须调用父类的构造函数时,委托(delegate)构造函数的正确方法是什么?我知道您不能在同一个初始化列表中同时进行委托(delegate)和成员初始化,但我不知道调用父类的构造函数是否具有相同的限制。//Option1:Callparentclassconstructor,thendelegate:classFoo{public:Foo(int);};classBar:publicFoo{public:Bar(int,float):Foo(int),Bar(int,float,'c');Bar(int,float,char);};//Optio

c++ - 在 C++ 中显示 "anonymous"变量创建警告

我有这样一个类:classScopedLock{public:ScopedLock(Locker*lock){/*...*/}~ScopedLock(){/*...*/}};通常它被称为(这将在正确的地方调用ScopedLock的构造函数/析构函数):{ScopedLockl(&locker);//...}我不小心这样调用它:{ScopedLock(&locker);//...}这种“东西”的名称是什么?未使用的匿名局部变量?是否有可能避免这种情况?是否有针对此类“事物”的编译器警告? 最佳答案 您已经创建了一个类型为ScopedL

c# - 如何在 C++ 中像仿函数一样使用 C# 委托(delegate)?

在C++中,要对vector、列表或任何集合进行排序,我会使用:#include#include#include#includeusingnamespacestd;intmain(){vectorvt;vt.push_back(3);vt.push_back(1);vt.push_back(2);sort(vt.begin(),vt.end(),greater());}在C#中,我发现List相当于std::vector:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;names

C# 到 C++11 的转换 : delegate templates

我正在尝试将此C#代码转换为C++:publicdelegatevoidAction(Tobj);publicdelegatevoidAction(T1arg1,T2arg2);publicdelegatevoidAction(T1arg1,T2arg2,T3arg3);很明显这调用了std::function。由于这是一个更大的项目,我使用了一个工具来完成所有的转换,这就是它得出的结果:#includetemplate//C#TOC++CONVERTERTODOTASK:C++doesnotallowspecifyingcovarianceorcontravarianceinagen

c++ - 代码完成 2ed,组合和委托(delegate)

在这个论坛上看了几个星期后,我觉得是时候发表我的第一篇文章了。我目前正在重读CodeComplete。我想距离上次已经有15年了,我发现我仍然不会写代码;-)无论如何,在CodeComplete的第138页上,您会找到这个编码恐怖示例。(我已经删除了一些代码)classEmplyee{public:FullNameGetName()const;AddressGetAddress()const;PhoneNumberGetWorkPhone()const;...boolIsZipCodeValid(Addressaddress);...private:...}Steve认为不好的地方在于

C++:警告: '...' 声明的可见性高于其字段 '...::<anonymous>' 的类型

我收到这两个警告(在MacOSX上使用GCC4.2):/Users/az/Programmierung/openlierox/build/Xcode/../../src/main.cpp:154:0/Users/az/Programmierung/openlierox/build/Xcode/../../src/main.cpp:154:警告:“startMainLockDetector()::MainLockDetector”声明的可见性高于其字段类型“startMainLockDetector()::MainLockDetector::”/Users/az/Programmieru