草庐IT

connector-cpp-info

全部标签

c++ - 一个 .cpp 文件中的多个类

我想知道在一个.cpp文件中包含多个类是否被认为是不好的做法。我有Objective-C的背景,但很少这样做。 最佳答案 这会导致代码的可读性降低,因为您通常希望类的定义在header中具有相同的名称,而实现在具有相同名称的实现文件中。在实践中,有些情况下类比较小,可以将关系密切的小类组合在一起,但这要视具体情况而定。 关于c++-一个.cpp文件中的多个类,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

c++ - FizzBu​​zz.cpp 与 lambdas?

我正在尝试使用lambda在C++11中编写FizzBu​​zz,但我遇到了一个奇怪的编译器错误。代码:#include#include#include#include#includeusingnamespacestd;stringfizzy(intn){ inta=n%3,b=n%5; if(a==0&&b==0){  return"FizzBuzz"; } elseif(a==0){  return"Fizz"; } elseif(b==0){  return"Buzz"; } else{  stringstreamout;  outrange(0,100); for_each(r

c++ - 为什么在同一个 cpp 文件中包含 header 和前向声明包含的类?

我一直在为我的大学项目查看FearSDK,但注意到一些代码如下:Foo.hclassFoo{public:intiSomething;};酒吧.cpp:#include"Foo.h"//ForwarddeclarationsclassFoo;在同一cpp文件中转发声明并包含适当的header是否有任何特殊原因?还是前向声明是多余的,因为包含了header?编辑:每次我在代码中看到它时,include语句总是在前向声明之前。 最佳答案 这不仅是多余的,而且可能存在问题。SayFoo.h发生变化,因此Foo成为通用的、模板化等价物的某个

c++ - XCode 助理编辑器不显示我的 .h 和相关的 .cpp 文件

如果我从xcode创建.cpp文件,它会自动为我创建.h文件,我将能够在AssistantEditor中同时查看两个文件。它将显示.h文件与.cpp文件相关联。但是,我从TextMate创建我的项目并手动导入这些文件。现在,当我单击.h文件时,它不会在旁边显示相关的cpp文件。我怎样才能做到这一点。谢谢 最佳答案 嗯..我试着重现你的问题,但它对我有用。我有两个想法:1)你确定他们的名字是一样的吗?如果不是,它似乎不认为他们是同行。2)当您切换到AssistantEditor时,后退/前进按钮的右侧是一个下拉菜单,用于选择要显示的文

c++ - 在 CPP 文件中使用 make 文件字符串变量

我在make文件中使用以下代码从CPP文件访问变量VENDOR_NAME。EXTRA_DEFINE+=-DVENDOR_NAME=$(VENDOR_NAME)VENDOR_NAME包含一个字符串。在我的cpp文件中,当我尝试使用此变量时,出现如下错误。coutFeature1.cpp.bak.cpp:8:'Default_Vendor'未声明(首先使用此功能)Feature1.cpp.bak.cpp:8:(每个未声明的标识符只报告一次我猜这是因为我的字符串不包含双引号并且编译器正在将VENDOR_NAME的内容视为变量。如何在我的CPP文件中将此变量作为字符串获取,以便我可以像使用#d

c++ - 正确使用cpp中的定义宏替换函数的名称

我在Ubuntu上使用Eclipse+Qualcomm库(在cpp中)+AndroidSDK。我的应用程序运行良好。如果我更改qualcomm库中的一些代码,它会编译并正常工作。问题是:我已经更改了项目的名称,并且我必须更改cpp中的一些代码(函数的名称),如果我不这样做,我会得到一个Java.lang.UNSATISFIEDLINKERROR.那是因为所有函数的名称都是Android包,如下所示:Java_org_myproject_marker_MainActivity_onQCARInitializedNative(JNIEnv*,jobject)然后我定义一个这样的宏:#def

c++ - 如果我在实现 (.cpp) 文件中定义一个函数而不在头文件中定义它会发生什么?

我是C++菜鸟。我有一个定义函数的foo.cpp文件,voidsort(){//detailsofsortalgorithm}我没有在相应的头文件中定义这个,但是我没有编译错误。我注意到这是一种静态方法。是这样吗?我到底在这里做了什么?编辑:我注意到在这个方法中我不能使用它,(例如:this->bar),因此我假设这是一个静态函数。当我想要一个“私有(private)”方法但忘记在头文件中声明它时,这实际上发生了。是否有实际使用这样的功能? 最佳答案 它在该编译单元之外不是不可见的,它不绑定(bind)到单个编译单元,它只是一个需要

命令“ python setup.py egg_info”失败,错误代码1 in/tmp/pip-build-build-fkyx6m64/misaka/

我在Fedora25上使用Django1.11。我正在使用虚拟环境,并且在尝试安装misaka:pip安装misaka时我收到以下错误:命令“pythonsetup.pyegg_info”失败,错误代码1在/tmp/pip-build-build-fkyx6m64/misaka/这是追溯:Collectingdjango-misakaDownloadingdjango-misaka-0.2.1.tar.gzCollectinghoudini.py(fromdjango-misaka)Downloadinghoudini.py-0.1.0.tar.gzCollectingmisaka(fromd

c++ - 两个不同的 CPP 文件中的相同功能。我该如何做到这一点?

对于我的家庭作业,这是我的作业:创建5个文件。Driver.cpp、f.h、f.cpp、g.h、g.cpp。f和g应该实现一个名为hello的函数。司机应从f和g打招呼。示例输出:你好你好按任意键继续。..我创建了所有这些文件,但我不明白的是同一个函数hello()怎么会存在于两个文件中并从driver.cpp文件中调用?任何帮助将不胜感激!编辑:我得到的错误是“fatalerrorLNK1169:找到一个或多个多重定义的符号”。这是指两个hello()函数。我该如何解决这个问题? 最佳答案 全局可见的实体只能有一个定义。因此,您不

c++ - 谷歌有什么理由在他们的开源项目中使用 cc 扩展而不是 cpp 吗?

Google在其开源项目中使用cc扩展而不是标准cpp有什么原因吗?我也应该这样做吗? 最佳答案 这完全是个人喜好问题,至少对于启动项目的人而言。无论您选择什么,都要保持一致。 关于c++-谷歌有什么理由在他们的开源项目中使用cc扩展而不是cpp吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3146550/