string-comparison-functions
全部标签 最近我开始使用c++。我听说过exportedfunctions但不确定它是什么意思。所以我的问题是:什么是导出函数?普通函数和导出函数有什么区别吗?如果是,那是什么?它与dll有什么关系? 最佳答案 whatisexportedfunction?当您使用模块(代码片段)进行编程时,您需要在某个模块中调用在其他模块中定义的函数。导出是相对于那个过程。在C/C++中,如果你想声明一个函数来使用它而不在源文件中定义它,你应该使用关键字“extern”。在定义该函数的文件中,您无需做任何特别的事情,默认情况下,全局范围内的内容会自动导出。
如何使用boost或STL创建lambda函数以匹配中第三段代码中F期望的boost::function参数主?#include#includevoidF(inta,boost::functionf){std::cout我不能使用C++0x并且想避免创建几个单独的函数。如果有帮助,我可以使用boost::function以外的东西,我的首要任务是简洁地创建lambda。 最佳答案 #include//STL#include//Boost.Lambda#include//Boost.Pheonix#include//Boost.Phe
给定一个包含制表符的C++std::string变量,是否有可能确定该字符串的长度,因为它会出现在“屏幕”上?即:std::stringvar="\t\t\t";std::cout 最佳答案 不容易。如果不了解所涉及的“屏幕”(实际上是驱动输出的软件)的具体知识,这是不可能的,因为选项卡扩展差异很大。有四种相当明显的可能性,基于固定扩展与扩展到某物的倍数,以及基于字符单元与其他一些固定测量(例如,对于比例字体)。还有具有更复杂标准的“智能选项卡”,其中一个选项卡的扩展可能取决于另一个选项卡。在典型的“控制台”上,将扩展mod8个字符
这是我的代码:Composer&Database::GetComposer(stringin_last_name){for(inti=0;i想法是遍历Composer对象数组并返回对其last_name字段与“in_last_name”匹配的对象的引用。我明白警告在告诉我什么,即函数可能不会返回任何内容(如果用户提供了无效的姓氏)。我的问题是,我怎样才能避免这种情况?我尝试在for循环之后添加“return0”和“returnNULL”,但它无法编译。如果此方法什么也没找到,是否应该抛出异常? 最佳答案 您的函数被声明为返回一个Co
我有几个问题,我认为对于有C++经验的人来说很容易回答,我会用粗体显示TL;DR的问题给定以下代码:voidstringTest(conststd::string&s){std::cout希望有人能在这里指出我思维过程中的错误:为什么在传递C风格字符串时,stringTest中的参数必须标记为const?是否没有使用其cstyle字符串构造函数隐式转换为std::string,因此“s”不再是对文字的引用(并且不需要是常量)。此外,cstyle字符串构造函数会是什么样子,编译器如何知道在看到时调用它:stringTest("HelloWorld");它是否简单地将字符串文字识别为类似c
我正在尝试通过swig将我的C++代码移植到Python。当我完成py、pyd、cxx和lib文件的构建时,在Python(命令行)下,我键入“模块Dnld”,它显示->导入错误:动态模块未定义初始化函数。以下是我的代码,进一步:添加我的构建步骤以避免误解,谢谢MarkTolonen文件->新建->项目->Windows控制台应用程序->选择DLL和空项目(无unicode)将我的SerialComm文件夹添加到项目中(包括DownloaderEngine.hSerial.hPortEnumerator.h等)。配置属性->c/c++->附加包含目录->C:\Python27\incl
在C++中,如果我想定义一些non-localconststring,可以在不同的类、函数、文件中使用,我知道的方法是:使用定义指令,例如#defineSTR_VALUE"some_string_value"const类成员变量,例如classDemo{public:staticconststd::stringConstStrVal;};//thenincppstd::stringDemo::ConstStrVal="some_string_value";const类成员函数,例如classDemo{public:staticconststd::stringGetValue(){ret
假设,我想开发一个通用库,它应该可用于类似数字的类型,包括double类型和用户定义类型。我现在面临的问题是我不知道如何像这样编写函数模板的返回类型:templateautotransmogrify(Tx)->???{usingstd::abs;returnabs(x)+2.0;}using声明使此函数模板的主体适用于原始类型,因为它们没有关联的命名空间(因此没有ADL)。但我希望transmogrify使用专门的abs函数,以防用户定义类型的作者提供他自己的abs函数。我不能简单地使用->decltype(abs(x)+2.0)因为这对double不起作用,因为std::abs不在范
我正在开始开发一个由多个模块组成的项目。我将使用专用的测试台验证这些模块中的每一个,每个模块都有它们的main()函数。我想避免为每个测试平台及其main()函数创建一个Eclipse项目。我读到了WorkingSets在我的项目中只显示与特定测试平台相关的文件的想法正是我所寻找的。但是,在构建阶段,Eclipse会继续构建所有项目文件,而不仅仅是当前的工作集文件。然后,由于多个main()函数,我遇到了链接器错误。如何将Eclipse配置为仅构建工作集的文件?是否有另一种方法可以在单个项目中分别构建多个程序,即应用程序及其组件测试平台? 最佳答案
我遇到过需要这种功能的情况:MoveOnlycreateMoveOnly();存储在这里:std::functionfactory=&createMoveOnly;据我所知,这应该可行,因为MoveOnly可以转换为boost::any使用支持boost.any移动语义的boost1.55,它不起作用。它会触发有关尝试在boost::any的持有者内部为MoveOnly使用已删除的复制构造函数的错误。但是正确选择了Boost.Any的顶级构造函数(它使用模板化的ValueType&&来转发参数)。也许问题出在std::function中。有什么提示吗? 最佳