草庐IT

delegating-constructor

全部标签

c++ - 将 C 数组分配给 C+ +'s std::array? (std::array<T,U> = T[U]) - no suitable constructor exists from "T [U ]"to "std::array<T,U>"

我正在尝试将C数组分配给C++std::array。我该如何做到这一点,最干净的方式并且不制作不需要的拷贝等?什么时候做intX[8];std::arrayY=X;我得到一个编译器错误:“不存在合适的构造函数”。 最佳答案 没有从普通数组到std::array的转换,但是您可以将元素从一个复制到另一个:std::copy(std::begin(X),std::end(X),std::begin(Y));这是一个工作示例:#include#include#include//std::copyintmain(){intX[8]={0,1

C++ "No matching constructor for initialization of"编译器错误

我有一个类,我尝试初始化但收到错误“没有匹配的构造函数用于初始化'TextureCoordinates'”;我正在尝试初始化的类:classTextureCoordinates{public:TextureCoordinates(){};TextureCoordinates(Point2D&origin,Dimensions2D&dim);Point2DgetOrigin()const{returnorigin;};Dimensions2DgetDim()const{returndim;};private:Point2Dorigin;Dimensions2Ddim;};编译器错误:Te

c++ - 错误 : expected constructor, 析构函数,或 ';' token 之前的类型转换?

我正在尝试编译我的代码以测试读取和打印数据文件的函数,但我得到一个我不理解的编译错误-“错误:预期的构造函数、析构函数或类型转换之前';'token”。相关代码文本墙如下。structDay{intDayNum;intTempMax;intTempMin;doublePrecip;intTempRange;};structMonth{DayDays[31];intMonthMaxTemp;intMonthMinTemp;doubleTotalPrecip;intMonthMaxTempRange;intMonthMinTempRange;doubleAverageMaxTemp;dou

c++ - 委托(delegate)给默认的移动构造函数

我经常发现自己为具有许多成员变量的类编写乏味的移动构造函数。它们如下所示:A(A&&rhs):a(std::move(rhs.a)),b(std::move(rhs.b)),c(std::move(rhs.c)),d(std::move(rhs.d)){some_extra_work();}也就是说,它们执行与默认移动构造函数相关的所有操作,然后执行一些平凡的额外任务。理想情况下,我会委托(delegate)给默认的移动构造函数,然后执行额外的工作,但是定义我自己的移动构造函数的行为会阻止定义默认实现,这意味着没有什么可以委托(delegate)给。有没有一种很好的方法来绕过这种反模式

C++ 编译器错误 : "return type specification for constructor invalid"

这是我的代码。编译所有文件时出现此错误,我不确定自己做错了什么。请指教。Molecule.cpp:7:34:error:returntypespecificationforconstructorinvalid//SunnyPathak//Molecule.cpp#include#include"Molecule.h"usingnamespacestd;inlinevoidMolecule::Molecule(){intcount;count=0;}//endfunctionboolMolecule::read(){cout 最佳答案

c++ - 在 OOP 中,什么是转发,它与委托(delegate)有何不同?

有人能解释一下转发和委托(delegate)之间的区别吗?它们看起来很相似,但我一直无法找到一个好的转发定义,所以我不确定我是否真的理解。 最佳答案 我们先定义两个术语:sender:向另一个对象(接收者)发送消息/任务的对象receiver:从发送者接收消息/任务的对象forwarding和delegation的区别在于forwarding接收者在自己的上下文中进行操作而在委托(delegate)接收方代表发送方行事。这里有一个很好的比喻blogpost:委托(delegate)和转发都非常相似。一个可能有助于区分它们的隐喻是想象

c++ - 构造函数 : difference between defaulting and delegating a parameter

今天,我偶然发现了thesestandarddeclarationsstd::vector构造函数://untilC++14explicitvector(constAllocator&alloc=Allocator());//sinceC++14vector():vector(Allocator()){}explicitvector(constAllocator&alloc);这种变化可以在大多数标准容器中看到。一个稍微不同的例子是std::set://untilC++14explicitset(constCompare&comp=Compare(),constAllocator&al

c# - 将 C# 委托(delegate)的调用约定更改为 CDECL

我在使用DotNet1.1时遇到过这个C#问题问题是这样的。我有一个非托管dll,它有一个带有函数指针(以及其他参数)的函数。当我在C#代码中声明DLLImport时,我传递了一个委托(delegate)。但是C#中的委托(delegate)具有stdcall调用约定,而非托管函数需要cdecl函数指针。因此,我天真的方法导致了崩溃。然后我发现了以下内容:http://www.codeproject.com/KB/cs/cdeclcallback.aspx有人编写了一个出色的库,据我所知,它可以通过MSIL-hacking更改委托(delegate)的调用约定。事情进展顺利,直到...

c++ - Fast Delegate (et al) 背后的想法是否已用于优化 std::function?

已经有C++“委托(delegate)”的提议,其开销低于boost::function:MemberFunctionPointersandtheFastestPossibleC++DelegatesFastC++DelegateTheImpossiblyFastC++Delegates有没有使用这些想法来实现std::function,从而获得比boost::function更好的性能?有没有人比较std::function与boost::function的性能?我想专门了解英特尔64位架构上的GCC编译器和libstdc++,但欢迎提供有关其他编译器(例如Clang)的信息。

node.js - 如何让 npm 运行 &lt;script&gt; 委托(delegate)给子 package.json?

我有2个级别的package.json文件。例子在这里:https://github.com/justin808/react-webpack-rails-tutorial原因是顶层是一个Rails应用程序,我将所有Node工具放在一个名为client的目录下,并带有它自己的package.json文件。顶级package.json文件是Nodebuildpack运行npminstall脚本的便利和Hook。我有一个转发gulp命令的示例。有什么方法可以将顶级package.json中未找到的任何内容普遍转发给子项?顶级package.json.{"name":"react-webpac