草庐IT

header_value

全部标签

c++ - 编码练习 : return by value or by reference in Matrix multiplication?

我正在引用thisone写这个问题我昨天写的。在一些文档之后,我似乎很清楚我想做的事情(以及我认为可能的事情)几乎是不可能的,如果不是根本不可能的话。有几种实现它的方法,由于我不是经验丰富的程序员,我问你会选择哪一种。我再次解释了我的问题,但现在我有一些解决方案可以探索。我需要什么我有一个Matrix类,我想实现矩阵之间的乘法,这样类的使用非常直观:Matrixa(5,2);a(4,1)=6;a(3,1)=9.4;...//Andsoon...Matrixb(2,9);b(0,2)=3;...//Andsoon...//AfterawhileMatrixi=a*b;我昨天有什么此刻我重

c++ - 使用 .h 作为 C++ 文件的 header 是否错误?

使用.h作为C++文件的header是否错误?我到处都看到它,尤其是用“C风格”编写的代码。我注意到Emacs总是为.hheader选择C​​突出显示样式,但为hpp或hh选择C++。将header标记为.h实际上是“错误的”,还是只是让我恼火?编辑:这让我很恼火是有一个很好的(大概)原因的,如果我有标记为“hpp&cpp”的项目文件,我可以使用“grepsomething*pp”等等。否则我必须输入“.hcpp”' 最佳答案 这没什么不对。这是MicrosoftVisualC++的默认设置。就按照自己喜欢的标准,坚持下去。

C++ pragma GCC system_header 指令

这个C++指令是做什么的:“#pragmaGCCsystem_header”? 最佳答案 我用谷歌搜索得到this:#pragmaGCCsystem_headerThispragmatakesnoarguments.Itcausestherestofthecodeinthecurrentfiletobetreatedasifitcamefromasystemheader.Section2.7SystemHeaders.MoreinfoonSystemheaders2.7.SystemHeadersTheheaderfilesdecl

c++ - 按值(value)返回总是常量吗?

此代码无法编译:classC{};voidfoo(C&c){}Cbar(){returnC();}intmain(){foo(bar());}foo(bar())行中的编译错误(GCC4.1.2):invalidinitializationofnon-constreferenceoftype'C&'fromatemporaryoftype'C'由于bar()返回一个mutable对象,它应该编译...为什么C++不允许上述代码?编辑:我在ananswerbelow中做了总结所有答案的所有好主意;-) 最佳答案 此处适用的规则是您不能

c++ - C++ header 中的循环依赖。怎么找?

我想你们都知道什么是头文件中的循环依赖。它的结果通常如下所示:错误:“MyClass”未在此范围内声明如果程序很短,就很清楚要做什么。但是如果程序有几十个文件...我的问题是“是否有一些算法可以找到循环依赖?”我指的是一些特定的步骤,它们可以让您获得成功,而不仅仅是“查看代码直到找到它”。可能是某个程序,它做了什么? 最佳答案 至少我知道的一个编译器(VisualC++)有一个名为“显示包含”的选项,可以帮助您跟踪包含顺序。这可以帮助您找出循环发生的位置。如果您的编译器没有这样的选项,您可以将#pragmamessage(或等效的)

c++ - header 正确,但找不到标识符

我有两个项目(x64)。一个。用C(wxWidgets)编写---编辑:它是用C++编写的!B。用C++编写A编译正常,但是B(使用A的函数)在我尝试编译时出现了几个错误。我建议错误的原因对所有人来说都是一样的,所以我只提第一个。它说:strlen:identifiernotfound在给出错误消息的文件(wxcrtbase.h)中,包含以下header:#include#include`来自B的文件包含来自A的以下header:#include"wx/wx.h"#include"wx/dcbuffer.h"#include"wx/spinctrl.h"所以,目前,我不知道从哪里开始搜

c# - 从 C# 调用带有 C++ header 的 dll

我正在尝试在我有C++header的dll中调用一个方法。我正在从C#调用dll。输入是字符串,输出是二进制数据。以下3种方法中的任何一种都可能起作用,我只是不知道如何让它们中的任何一种一直起作用。C#声明是我做的,所以它们可能不正确1:我可以获取到hGlobal,但是我不知道如何从句柄中获取数据。//CMBT_LL_WINAPIINTDLLPROCLlConvertStringToHGLOBALW(LPCWSTRpszText,_PHGLOBALphMemory);[DllImport("cmll15.dll",EntryPoint="LlConvertStringToHGLOBAL

c++ - 预编译特征 header

我正在Windows操作系统上使用Eclipse构建一个C++项目,我也在使用Eigen线性代数库。我的问题是Eigen的编译时间非常慢(大约50秒)。我已经尝试了这些建议的解决方案:PrecompiledheadersinEclipse:不幸的是没有和我一起工作TheAmazingRuby:PrecompiledHeaderHackforEclipseCDT:它减少了5秒的编译时间#defineEIGEN_NO_DEBUG:它减少了额外3秒的时间我真的需要一个解决方案,每次构建项目来测试某些东西时等待47秒是非常不切实际的。非常感谢任何想法,谢谢。 最佳答

c++ - 自动包含所需的 C++ header IDE?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我是JavaEclipse用户以及QtCreatorIDE用户。在EclipseIDEforJava中,当我键入以下行时:Vectorv=newVector();它会在代码的顶部自动生成这一行:importjava.util.Vector;问题:是否有C++IDE或QtIDE的插件生成例如这一行:#include在我输入之后:vectorv;

c++ - std::vector 应该尊重 alignof(value_type) 吗?

如果我定义一个具有特定对齐要求的简单类型,该类型的std::vector难道不应该为每个元素遵守对齐吗?考虑下面的例子typedefstd::arrayalignas(32)avx_point;std::vectorx(10);assert(!(std::ptrdiff_t(&(x[0]))&31)&&//assertthatx[0]is32-bytealigned!(std::ptrdiff_t(&(x[1]))&31));//assertthatx[1]is32-bytealigned我发现clang3.2(带或不带-stdlib=libc++)悄悄地(没有任何警告)违反了对齐要求