草庐IT

quote_char

全部标签

c++ - 在运行时调整 char[] 的大小

我需要在运行时将chararray[size]的大小调整为chararray[new_size]。我该怎么做? 最佳答案 如果您使用的是std::vector而不是数组,那么您想要的功能将只是该类型的另一种方法。 关于c++-在运行时调整char[]的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1354900/

c++ - 奇怪的 char* 编译错误?

我下面的代码有什么问题吗?我得到了编译错误!typedefunsignedcharBYTE;voidfoo(char*&p){return;}intmain(){BYTE*buffer;//errorC2664:'foo':cannotconvertparameter1from'char*'to'char*&'foo((char*)buffer);return0;}提前致谢,乔治 最佳答案 当您将BYTE*转换为char*时,会创建类型为char*的未命名临时实体。您调用的函数引用了char*,但您不能引用这样的临时实体,因为它不是

c++ - 为什么 char** 不能作为 C++ 中以下函数的返回类型?

我在C++中有以下函数:char**f(){char(*v)[10]=newchar[5][10];returnv;}VisualStudio2008说明如下:errorC2440:'return':cannotconvertfrom'char(*)[10]'to'char**'为了让这个函数起作用,返回类型到底应该是什么? 最佳答案 char**与char(*)[10]不是同一类型。这两种类型都是不兼容的类型,因此char(*)[10]不能隐式转换为char**。因此编译错误。函数的返回类型看起来很难看。你必须把它写成:char(

c++ - C++ 中的 const char*

C++中的字符串表达式是如何工作的?考虑:#includeusingnamespacestd;intmain(intargc,char*argv[]){constchar*tmp="hey";delete[]tmp;return0;}“嘿”表达式存储在哪里以及如何存储,为什么在我尝试删除它时出现段错误? 最佳答案 在这种(有些特殊的)情况下,它的存储位置留给编译器来决定。然而,这对您来说并不重要-如果您不使用new分配内存,则尝试使用delete释放它并不是一件好事。您不能删除以您分配的方式分配的内存。如果您想控制该资源的释放,您应

c++ - 从 char* 初始化 std::string 而不复制

我遇到这样一种情况,我需要处理大量(许多GB)数据:通过附加许多较小的(Cchar*)字符串构建一个大字符串修剪字符串将字符串转换为C++conststd::string进行处理(只读)重复每次迭代中的数据都是独立的。我的问题是,我想尽量减少(如果可能的话消除)堆分配的内存使用量,因为目前这是我最大的性能问题。有没有一种方法可以将C字符串(char*)转换为STLC++字符串(std::string)而无需std::string在内部分配/复制数据?或者,我可以使用stringstreams或类似的东西来重新使用大缓冲区吗?编辑:感谢您的回答,为了清楚起见,我认为修改后的问题是:如何有

探秘C语言数组:解锁高效数据管理与多维空间编程技巧"

✨✨欢迎大家来到贝蒂大讲堂✨✨🎈🎈养成好习惯,先赞后看哦~🎈🎈所属专栏:C语言学习贝蒂的主页:Betty‘sblog引言前面贝蒂给大家介绍了选择结构与循环结构,今天,贝蒂准备给大家介绍C语言中一个非常重要的结构——数组1.数组的定义数组到底是什么呢,顾名思义就是很多数的集合,其大致满足下面两个条件:这些数的类型必须相同。这些数在内存中必须是连续存储的。换句话说,数组就是在内存中连续存储的具有相同类型的一组数据的集合。数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组。2.一维数组2.1创建与初始化(1)创建一维数组的定义方式如下:类型说明符数组名[常量表达式];类型说明符就是我们常用

c++ - 为什么 UuidFromString 函数请求非常量指针指向 unsigned char?

我不知道为什么UuidFromString函数需要非常量指向无符号字符的指针。为什么不用constchar*代替呢?我的想法是不需要修改第一个参数所指出的数据。 最佳答案 UuidFromString专为COM/DCOM而设计。unsignedchar是为了防止需要检查负数char值(默认char是signed,这意味着值的范围是[-128,127]-因为这个字符串应该是ANSI字符,这是避免条件检查的一种廉价方法)。它的姊妹函数(UuidToString)确实需要一个const输入参数。我在文档中看不到关于为什么UuidFromS

c++ - const char[] 默认函数参数

我定义了这样一个类型:typedefcharsType[256];和一个带有默认参数的函数:voidfoo(constsTypeparam=NULL);MinGW(g++4.8.0)编译它没有错误。相反,VisualStudio2015(Tools14.0)给出了以下错误:errorC2040:'sType':'int'differsinlevelsofindirectionfrom'char[256]'我试图将NULL转换为constchar[],但这会导致:errorC2440:'typecast':cannotconvertfrom'int'to'constchar[]'有什么提

c++ - 将 python 列表包装为 unsigned char*

编辑:大家好!!我目前正在尝试从Python访问C++函数,当我尝试将Python列表作为参数传递给函数时遇到了问题。这是我试图访问的C++函数定义(用于向PC/SC阅读器发送命令):SRpdu*SendAPDU(unsignedintuiAPDU,//CommandunsignedintucLE,//DataexpectedforresponseunsignedintucLC,//Sizeofdatabufferunsignedchar*pucDataBuf=0);//databuffer我的目标是像下面的示例一样从python调用此函数。目标是将列表[1,2,3]转换为unsign

c++ - 使用 char 参数从 <cctype> 调用函数是否安全?

C编程语言表示来自的函数遵循一个共同的要求:ISOC99,7.4p1:Inallcasestheargumentisanint,thevalueofwhichshallberepresentableasanunsignedcharorshallequalthevalueofthemacroEOF.Iftheargumenthasanyothervalue,thebehaviorisundefined.这意味着下面的代码是不安全的:intupper(constchar*s,size_tindex){returntoupper(s[index]);}如果此代码在char的实现上执行与sig