草庐IT

email_from

全部标签

c++ - 是否有一个总称来对 "from-scratch"构造函数进行分组,以将它们与复制和移动构造函数区分开来?

这是一个行话问题。在C++中有几个概括性术语来对逻辑操作进行分组。例如:对于析构函数、复制/移动赋值和构造函数:复制控制操作。是否有一个术语用于所有创建对象而不从同一类的另一个对象复制或移动的构造函数? 最佳答案 没有。您还有“默认构造函数”和"convertingconstructor",但我不认为他们有一个共同的术语来描述他们。 关于c++-是否有一个总称来对"from-scratch"构造函数进行分组,以将它们与复制和移动构造函数区分开来?,我们在StackOverflow上找到一

c++ - ld 警告 : stack subl instruction is too different from dwarf stack size on OS X

最近我们开始在我们的OSX构建中收到此警告。ld:warning:couldnotcreatecompactunwindfor__Z10createMenuv:stacksublinstructionistoodifferentfromdwarfstacksizeld:warning:couldnotcreatecompactunwindfor__Z10del_modulejb:stacksublinstructionistoodifferentfromdwarfstacksizecouldnotcreatecompactunwindfor__Z14menu_patchbytev:st

c++ - 面向对象 : How to Choose from a Number of Implementations

我是一个体面的程序程序员,但我是面向对象的新手(我接受过优秀的Pascal和C工程师培训)。我发现特别棘手的是选择多种方法中的一种来实现同一件事。对于C++尤其如此,因为它的力量几乎可以让你做任何你喜欢的事情,甚至是可怕的事情(我想权力/责任格言在这里很合适)。我认为这可能会帮助我运行一个社区正在努力解决的特定案例,以了解人们如何做出这些选择。我正在寻找的是与我的具体案例相关的建议,以及更一般的指示(没有双关语意)。开始了:作为练习,我正在开发一个简单的模拟器,其中“几何表示”可以有两种类型:“圆”或“多边形”。然后模拟器的其他部分将需要接受这些表示,并可能以不同的方式处理它们。我想出

c++ - 使用boost图形库: how to create a graph by reading edge lists from file

我是boost图形库的新手,我想通过从文件中读取边列表来创建图形。edge_list.dat文件的示例是这样的:...12344545353433432454123345123566...文件的每一行代表图中的一条边,每行中的两个数字是该边对应的节点id。现在我想使用boost图形库从文件edge_list.dat创建一个图形。但是,我事先并不知道图形的大小。我需要一路将顶点添加到图中。然而,像这样为每个顶点创建一个顶点描述符是不切实际的:Graph::vertex_descriptorv0=boost::add_vertex(g);Graph::vertex_descriptorv1

c++ - 如何使用 shared_ptr 并从 enable_shared_from_this 继承来制作克隆方法

我已经看到编写返回boost::shared_ptr的克隆方法的一种有用方法是做classA{public:shared_ptrClone()const{return(shared_ptr(CloneImpl()));}protected:virtualA*CloneImpl()const{return(newA(*this));}};classB:publicA{public:shared_ptrClone()const{return(shared_ptr(CloneImpl()));}protected:virtualB*CloneImpl()const{return(newB(*

git clone出现fatal: Could not read from remote repository解决办法

一、问题描述在gitclone一个项目时出现如下报错:(第一个选项,问你是否继续连接?输入yes然后回车)Theauthenticityofhost'github.com(20.205.243.166)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.Areyousureyouwanttocontinueconnecting(yes/no/[fingerprint])?yesWarning:Permanentlyadded'github.com,20.205.2

c++ - 套接字异常 : "There are no more endpoints available from the endpoint mapper"

我正在使用winsock和C++来设置服务器应用程序。我遇到的问题是对listen的调用会导致第一次机会异常。我想通常这些可以忽略(?),但我发现其他人也有同样的问题,它导致应用程序偶尔挂起。任何帮助将不胜感激。第一次机会异常是:First-chanceexceptionat0x*12345678*inMyApp.exe:0x000006D9:Therearenomoreendpointsavailablefromtheendpointmapper.我发现了一些证据表明这可能是由套接字引起的我正在使用的代码如下。异常发生在倒数第五行调用listen时。m_accept_fd=socke

c++ - 错误 : Assigning to char* from incompatible type void*

所以我试图将来自libcURLHTTP请求的响应存储到C字符串中,以便稍后解析。响应代码完全是用C编写的,而其他所有内容都是用C++编写的,对于任何其他C++编译器,它应该可以正常工作。但是当我尝试编译时,即使我在文件名后跟“-xc”参数,我也会得到这些特定的响应。g++main.cpp-xccJSON.c-xcrespbuffer.c-lcurl-lm./respbuffer.c:14:9:error:assigningto'char*'fromincompatibletype'void*'s->ptr=malloc(s->len+1);^~~~~~~~~~~~~~~~~./resp

c# - C++ Interop : How do I call a C# class from native C++, 类是非静态的吗?

我有一个用nativeC++编写的大型应用程序。我还有一个C#类需要调用。如果C#类是静态的,那将是微不足道的(网络上有很多示例)-只需编写混合的C++/CLI包装器,导出接口(interface),即可完成。但是,C#类是非静态的,并且不能更改为静态的,因为它有一个接口(interface)(如果您试图将C#类设为静态,编译器将生成错误)。以前有没有人遇到过这个问题-如何将非静态C#类导出到nativeC++?更新2010-11-09最终解决方案:尝试使用COM,效果很好,但不支持结构。所以,我选择了C++/CLI包装器,因为我绝对需要能够在C++和C#之间传递结构。我根据此处的代码

c++ - 成员初始化列表 : initialize two members from a function returning a tuple

memberinitializerlist中的多个成员是否可以从函数获得的元组中初始化?随着通过元组返回多个值变得越来越流行,我希望有一个解决方案。除了语言限制,我看不出有什么其他原因无法做到这一点。这是我所拥有的mcve:autonew_foo(std::size_tsize)->std::tuple,int*>{autobuffer=std::make_unique(size*sizeof(int)+8);autobegin=static_cast(static_cast(buffer.get()+4));returnstd::make_tuple(std::move(buffer