草庐IT

string-comparison-functions

全部标签

C++ LZMA SDK : Uncompress function for LZMA2 compressed file

我正在尝试创建一个解压缩LZAM2压缩数据的函数。我的灵感来自thistutorial这对LZMA非常有效,我尝试将其改编为LZMA2。我成功地为LZMA2创建了压缩函数,但我没有成功创建解压缩函数。这里是压缩函数:staticvoidCompress2Inc(std::vector&outBuf,conststd::vector&inBuf){CLzma2EncHandleenc=Lzma2Enc_Create(&SzAllocForLzma,&SzAllocForLzma2);assert(enc);CLzma2EncPropsprops;Lzma2EncProps_Init(&p

c++ - 错误 : control Reaches end of non void function

我正在学习C++,我从教科书上抄了这段代码,在编译代码时,最后出现错误。错误说:ControlReachesendofnon-voidfunction它位于代码的末尾:#include"ComplexNumber.hpp"#includeComplexNumber::ComplexNumber(){mRealPart=0.0;mImaginaryPart=0.0;}ComplexNumber::ComplexNumber(doublex,doubley){mRealPart=x;mImaginaryPart=y;}doubleComplexNumber::CalculateModulu

c++ - Boost ICL : Are some combinations of interval types and functions not implemented?中函数 "contains"的基本使用

我开始使用BoostICL,并且偶然发现了一些非常基础的东西。例如,函数contains应该返回true或false,这取决于给定元素是否在区间内。然而,这适用于[right,left]_open_intervals但不适用于[open,closed]_inteval(请参见下面的示例)。这似乎太明显了,不是疏忽。我正在以预期的方式使用库吗?例如(使用gcc4.8或clang3.3和Boost1.54):#include//neededtomakethisMWEwork,boosticlshouldincludeitinternally#include#include#includei

Python f-strings - PEP 498 - 字面字符串插值

Pythonf-strings或格式化字符串是格式化字符串的新方法。此功能是在Python3.6中引入的,属于PEP-498。它也被称为字面字符串插值。我们为什么需要f-strings?Python提供了各种格式化字符串的方式。让我们快速看一下它们以及它们存在的问题。%格式化-适用于简单的格式化,但对于字符串、整数、浮点数的支持有限。我们无法将其用于对象。模板字符串-它非常基础。模板字符串只能使用类似字典的关键字参数。我们不允许调用任何函数,参数必须是字符串。字符串format()-Python字符串format()函数是为了克服%-格式化和模板字符串的问题和有限功能而引入的。然而,它太啰嗦了

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

我想通过指定策略允许修改我的类的行为。该策略应该用作boost::variant的访问者。有适合大多数情况的默认策略,但用户可能需要添加或替换一些重载。我发现vc++2013没有编译此代码并出现错误C3066:Therearemultiplewaysthatanobjectofthistypeofcanbecalledwiththesearguments。相同的代码在gcc和clang中按预期编译和工作。是vc++2013的错误吗?#includestructDefaultPolicy{voidoperator()(bool){std::coutUPD这个例子适用于vc++2010。看

C++ 蛇克隆 : timer function ignores given stop time and stops at it's own fixed time

我正在尝试使用C++和OpenGL/GLUT制作一个Snake克隆。然而,我一直在编程允许输入Action之间的短时间间隔时遇到问题。我已经尝试了一些计时方法,最后我为它创建了一个类(如下所示)。这似乎是对输入延迟进行编程的最佳方式(而不是glutTimerFunc()或sleep()),因为计时器独立于游戏循环运行,而不是暂停整个程序。这很重要,因为我希望播放器能够随时暂停。不幸的是,我现在也遇到了这种方法的问题。我的计时器类似乎忽略了我给它的双倍时间限制(简单表示为双倍“限制”)。为了测试该类,我设置了一个简单的循环控制台程序,该程序在计时器达到时间限制时显示来自用户的定向输入。它

c++ - 错误:无法将 std::vector<std::basic_string<char>> 转换为 std::string*

作为C++的新手,我曾尝试在我的一个程序中创建一个简单的void函数以显示数组。但是,如标题所示,存在错误。我认为这是一个问题,因为我试图用与函数参数不同形式的数组来调用它。我不确定如何修改它。#include#includeusingnamespacestd;voiddisplay_array(stringarr[]){inti;for(i=0;ipaths;cout>current;while(current!="0"){paths.push_back(current);cin>>current;}display_array(paths);}感谢任何帮助。

C++11/14 : Wrap a function if it exists

我想编写一个wrapper类(非常像一个代理)来聚合一个对象,并将成员函数调用转发给它。在使用可变参数模板和decltype的C++11/14中,这很简单。我的问题是包装对象可能支持也可能不支持某些成员函数。我想出了一个似乎有效的解决方案,但是,它看起来非常笨拙,我正在寻找简化方法。特别是我担心这在编译时可能会非常昂贵(有许多函数要包装)。这种笨拙是因为需要指定函数的返回类型,而无需decltype某些令人窒息的内容。有人有更好的主意吗?下面这段代码也可用live.#include#include///Computetheresulttypeofamemberfunctioncall,

c++ - 为什么不能将 mem_fn 应用于 std::string 的成员函数?

structint_holder{intvalue;inttriple(){returnvalue*3;}};intmain(intargc,constchar*argv[]){std::stringabc{"abc"};int_holderone{1};autof1=mem_fn(&std::string::clear);autof2=mem_fn(&int_holder::triple);f1(abc);f2(one);}我在Xcode中测试这样的代码,编译器发出这样的错误似乎mem_fn可以用于用户定义类的成员函数,但不能用于标准字符串的成员函数,有什么不同,为什么?感谢您的阅读

c++ - boost::any_range<gsl::string_span<>> 在 Release模式下崩溃

我观察到以下代码的一个相当奇怪的行为:#include#include#include#include#include#include"gsl.h"templateusingImmutableValueRange=boost::any_range;templateImmutableValueRangemake_transforming_immutable_range(constC&container){returncontainer|boost::adaptors::transformed([](consttypenameC::value_type&v)->T{//std::cout>