草庐IT

cpp-freegpt-webui

全部标签

c++ - Android-ndk(r7)编译.cpp文件时如何开启 "C++0X"实验标准?

在检查“android-ndk-linux_x86/sources/cxx-STL/gnu-libstdc++/include/memory”头文件时,我发现这个头文件包括其他STL头文件,根据__GXX_EXPERIMENTAL_CXX0X__旗帜。我认为这个标志与“C++0X”标准有关,这个标准在Android-ndkr7中可能还处于试验阶段。但是,我想在我的项目中启用这个C++标准。(我不确定这个“C++0X”标准是否已经默认开启)我想知道在编译Android项目的“project/jni”目录下的.cpp文件时,我应该如何告诉Android-ndk设置这个标志。或者如何在我的应

c++ - Pimpl with unique_ptr : Why do I have to move definition of constructor of interface to ".cpp"?

只要我不将构造函数(B)的定义移动到标题B.h中,代码就可以工作。B.hclassImp;//imp;B();//B.cpp#include"B.h"#include"Imp.h"B::B(){}~B::B(){}Imp.hclassImp{};Main.cpp(编译我)#include"B.h"Error:deletionofpointertoincompletetypeError:useofundefinedtype'Imp'C2027我能以某种方式理解必须将析构函数移动到.cpp,因为可能会调用Imp的解构:-deletepointer-of-Imp;//somethinglik

QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系

首先需要回顾一下cpp命名空间知识;扩展命名空间:一个文件中书写了两个相同名字的命名空间,第二个命名将作为第一个命名空间的补充例如:第一个Ui命名空间是一个前置声明;第二个Ui是具体定义,就跟函数声明和函数名义一模一样以上代码等价于一下代码:进入正题:ui_xxxx.h文件有一个命名空间Ui,其中定义了一个类MainWindow继承字Ui_MainWindow,这样就具有UI_MainWindow所有特征了。其中还有两个宏QT_BEGIN_NAMESPACE与QT_END_NAMESPACEQT_BEGIN_NAMESPACE:这是一个Qt框架中的宏,它标志着命名空间的开始。它实际上被定义为{

c++ - 如何通过 yaml-cpp 加载 YAML 文件?

我对yaml-cpp很陌生|.我尝试了最简单的程序,但它失败了,而且我无法从GitHub存储库中找到答案。#include#include"yaml-cpp/yaml.h"usingnamespacestd;intmain(){YAML::Nodeconfig=YAML::LoadFile("sample.yaml");return0;}sample.yaml来自官方YAML网站的示例:---!clarkevans.com/^invoiceinvoice:34843date:2001-01-23bill-to:&id001given:Chrisfamily:Dumarsaddress:

c++ - .cpp 与 .h 中的函数方法定义

为了减少工作中相当大的框架的编译时间,我正在考虑将.h文件中的类方法定义移动到它们相关的.cpp文件中,如果它们非常大或需要包含可以移动到的编译关联的.cpp文件。为了清楚起见,下面是一个人为的例子(尽管Foo::inc是一个小方法)ma​​in.cpp:#include"Foo.h"intmain(intargc,char**argv){Foofoo(argc);foo.inc();returnfoo.m_argc;}之前的Foo.h(还不需要Foo.cpp):classFoo{public:intm_argc;Foo(intargc):m_argc(argc){}voidinc()

c++ - Strawberry perl + Inline::CPP + <sstream> 未编译

也许有人可以帮助我理解。为什么会出现这个错误。我正在尝试构建使用Inline::CPP的C++代码。例子如下:#!/usr/bin/envperlpackagemainv0.1.0;usestrict;usewarnings;useInline(CPP=>CPP#ccflags=>'-std=c++11',ccflags=>'-std=gnu++11',clean_after_build=>0,clean_build_area=>0,);1;__END__此代码在linux下编译没有错误,但在strawberryperl5.26.2x64下会产生以下错误:"D:\devel\perl\

c++ - 定义一个类的私有(private)整型常量 : in the header or in the cpp file?

主题主要在此处解决(Wheretodeclare/defineclassscopeconstantsinC++?)特别是here.我想完全理解的是,在积分常数的情况下,它们之间有什么区别://IntheheaderclassA{private:staticconstintmember=0;//Declarationanddefinition};和://IntheheaderclassA{private:staticconstintmember;//Onlydeclaration};//InthecppconstintA::member=0;//Definition(据我所知,第二种可能

C++ .cpp 文件看不到 .h 中的变量

我用C++写过程序。首先,我已经正常编写了它(通常我不使用C++编写),我想将变量放在header中,将代码放在.cpp文件中。问题是.cpp中的类看不到变量-“标识符未定义”。啊.h#include#include#include#includeusingnamespacestd;classHex{private:intn;stringvalue;boolnegative=false;public:Hex();boolisCorrect();stringgetValue();voidsetValue();};a.cpp#include"a.h"#include"stdafx.h"cl

c++ - 如果我可以将所有 C++ 代码放在 .h 文件中,为什么还要使用 .cpp 文件?

如果我可以将所有C++代码放在.h文件中,为什么还要使用.cpp文件?我的意思是,如果所有代码都可以写在.h文件中,.cpp文件使用起来会很奇怪吗?任何人都可以神职吗? 最佳答案 几个原因:(1)增量构建时间当项目变大时,管理构建时间会出现问题,尤其是对于C++项目。微小变化后1或5分钟的构建会产生很大的不同。大型项目中的大多数更改都是小的并且需要大量测试来强调这一点。再加上任何TDD和重构的尝试,你就是一个穿着西西里鞋的死鼻涕虫。拆分为header和正文,并将其移至库中,极大地缩短了增量构建时间。(2)静力学对于许多事情,您需要一

c++ - XCode 不会破坏 #include 的 CPP 文件

如果您从另一个CPP文件中包含一个CPP文件,XCode将拒绝在包含的CPP文件中的任何断点处中断。我打算向Apple提出一个错误,但只是想在这里提及它,以防其他人遇到这个问题并可能找到解决方法。您可能希望从CPP文件中包含CPP文件,这是有充分理由的,我不会在此处详述。可以这么说,我不能简单地重新安排项目来直接编译包含的文件。示例:一个非常简单的iPhone项目ma​​in.mmexternvoidFunctionInSource1(inta);intmain(intargc,char*argv[]){FunctionInSource1(1);return0;}source1.cpp