草庐IT

is_triangle

全部标签

c++ - is_assignable 和 std::unique_ptr

Here是来自gcc的测试文件,livedemostructdo_nothing{templatevoidoperator()(T*){}};intmain(){inti=0;std::unique_ptrp1(&i);std::unique_ptrp2;static_assert(!std::is_assignable::value,"");//note!here.}std::is_assignableIftheexpressionstd::declval()=std::declval()iswell-formedinunevaluatedcontext,providesthemem

c++ - Qt 信号/槽 : Is it an error to emit a signal from a temporary object?

在Qt中,如果从一个临时对象中调用一个信号,使得该对象可能在调用槽时被删除,这是一个错误吗?如果相关,代码会从临时对象的构造函数发出信号。(注意:没有指针或引用作为参数传递,所以这不是关于悬挂指针或引用的问题。我只是想知道,以最简单的形式,从Qt中的一个临时对象。)这是我的代码的简化版本://MyapplicationclassHandyApplication:publicQApplication{Q_OBJECTpublic:explicitHandyApplication(intargc,char*argv[]);signals:publicslots:voidhandySlot(

c++ - 现代 C 和 C++ : it is possible to use one defined structure for other declared structure?

假设我想制作某种支持加载图形Image的引擎,所以我有structImage;Image*load_image_from_file(...);我不想让外部世界知道Image到底是什么,他们只会处理指向它的指针。但是在engine内部我想使用特定的类型,例如SDL_Surface在SDL中完全定义。我能否以某种方式重新定义此文件的图像,以便编译器在每次看到Image*(宏除外)时都假定为SDL_Surface*?即我想要像typedefstructSDL_SurfaceImage;这样的东西所有的尝试都像usingImage=SDL_Surface;typedefSDL_SurfaceI

c++ - 错误 : operand out of range (64 is not between 0 and 31)

我在PowerPC上遇到GCC内联汇编。该程序使用-g2-O3编译良好,但使用-g3-O0编译失败。问题是,我需要在调试器下观察它,所以我需要没有优化的符号。程序如下:$cattest.cxx#include#undefvectortypedef__vectorunsignedcharuint8x16_p;uint8x16_pVectorFastLoad8(constvoid*p){longoffset=0;uint8x16_pres;__asm("lxvd2x%x0,%1,%2\n\t":"=wa"(res):"g"(p),"g"(offset/4),"Z"(*(constchar(

c++ - 提升图形库 : Is there a neat algorithm built into BGL for community detection?

有人在大型生产服务器上使用BGL吗?您的网络由多少个节点组成?你如何处理communitydetectionBGL有什么很棒的方法来检测社区吗?有时两个社区可能通过一条或两条边连接在一起,但这些边并不可靠并且会逐渐消失。有时根本没有边缘。有人能简单谈谈如何解决这个问题吗?请打开我的思路并启发我。到目前为止,我已经设法计算出两个节点是否在一个岛上(在一个社区中)以最便宜的方式,但现在我需要计算出不同岛屿上的哪两个节点彼此最接近。我们只能尽量少地使用不可靠的地理数据。如果我们把它形象地比作一个大陆和一个岛屿,并把它从社会距离的背景中拿出来。我想计算出水域中哪两block土地距离最近。

c++ - 从 'triangle-soup' 中查找唯一顶点

我正在两个库(Opencascade和DWF工具包)之上构建一个CAD文件转换器。但是,我的问题与平台无关:给定:我生成了一个网格,作为三角形面的列表,形成了通过我的应用程序构建的模型。每个三角形都是通过三个顶点定义的,三个顶点由三个float(x、y和z坐标)组成。由于三角形形成一个网格,大部分顶点由多个三角形共享。目标:我需要找到唯一顶点的列表,并生成一个由该列表中三个索引的元组组成的面数组。我想做的是://step1:buildalistofuniqueverticesforeachtriangleforeachvertexintriangleifnotvertexinlistO

c++ - C/C++ 转换为程序集,低级内存行为 : how is it done?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭12年前。我在游戏编程学校学习,我们必须学习代码速度,这似乎很重要。在使用C/C++编程时,是否有任何需要注意的教程或列表?我想知道很多事情,例如为什么C的默认行为是通过传递数据而不是引用/地址,或者编译器如何将引用转换为汇编程序,或者C循环如何将自身转换为JMP。我对此很担心,因为python使用了另一种方式,但另一方面,python不使用运算符来复制值,而是使用语法繁重的函数。我真的不认为知道如何在汇

c++ - boost Weak_Ptr : Destruction is more expensive than expected

无论出于何种原因,我们看到销毁弱指针的成本相当高。这是罪魁祸首代码:~weak_count()//nothrow{if(pi_!=0)pi_->weak_release();//Consumesahugechunkofourtime.#ifdefined(BOOST_SP_ENABLE_DEBUG_HOOKS)id_=0;#endif}我们没有处于Debug模式,调试Hook也没有启用。弱释放消耗了非常多的时间。这是一个已知的问题?我们做错了什么吗?boost版本:1.36编译器:VS2008编译器套件。不幸的是,由于各种原因,我们被锁定在这个Boost版本中,所以我更想知道这些奇怪的

c++ - VC++ 使用 fp :fast causes wrong (not just inaccurate) results - is this a compiler bug?

我已经安装了最新的VS2017更新(15.4.4),但在编译我们的项目时,单元测试开始失败。在使用优化(/O2)和浮点快速模型(/fp:fast)时,问题似乎发生在某些情况下。以前的编译器(VS2017update15.2)没有出现这个问题。这是一个示例程序:#includeconstfloatFACTOR=0.01745329251994329576923690768489f;unsignedlonglonghoursToMicrosecs(inthours){returnhours*3600*1000000LL;}floatdegToRad(floatdeg){returndeg*

.net - 警告 C4341 - 'XX' : signed value is out of range for enum constant

在编译我的C++.Net应用程序时,我收到104条警告类型:WarningC4341-'XX':signedvalueisoutofrangeforenumconstantXX可以在哪里字符长位二进制GUID...无论我做什么,我似乎都无法删除这些警告。当我双击它们时,它会将我带到使用OdbcParameters的代码的一部分-当我尝试使用我的所有其他东西但没有OdbcParameters的测试项目时,它不会发出警告。知道如何摆脱这些警告吗?他们从我实际上很难看到的代码中发出真正的警告-知道我的应用程序有104个警告让我感觉很糟糕! 最佳答案