草庐IT

const_buffers

全部标签

c++ - 我可以在 C++ 类中将成员变量声明为 const 吗?如果可以,如何声明?

我可以在c++的类中将成员变量声明为const吗?如果可以,如何声明? 最佳答案 您可以-将const放在类型名称的前面。classC{constintx;public:C():x(5){}}; 关于c++-我可以在C++类中将成员变量声明为const吗?如果可以,如何声明?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1114501/

c++ - 静态 const 成员的 const_cast

以下代码在GCC(4.2-4.6)和Clang(2.1)下都能很好地编译,但是当我运行可执行文件时,它会显示“总线错误:10”。我不明白原因。#includestructA{staticintconstv;A(){++*const_cast(&A::v);}};intconstA::v=0;intmain(intargc,char*argv[]){Aa,b,c;std::cout 最佳答案 我认为相关的引用是:§7.1.6.1(4)fromN3242:Exceptthatanyclassmemberdeclaredmutableca

c++ - 从 "const char*"到 "char"错误的无效转换

这个问题在这里已经有了答案:invalidconversionfrom‘constchar*’to‘char’(2个答案)关闭5年前。我想发布这个是因为我不太确定我在使用简单的赋值语句时遇到了什么问题。我正在做一个家庭作业,要求我在一个简单的程序中编写结构和函数来绘制ASCII字符的形状。现在我只是想测试我编写的函数,我正在尝试为Circle结构的符号元素赋值,只是为了测试我编写的DrawShape函数。当我尝试为其分配一个*字符时,我收到一条错误消息,指出“错误:从‘constchar*’到‘char’的无效转换”。我会把整个代码放进去,虽然它很长而且还没有完成。对此有任何帮助,我们

c++ - const char* 初始化

这是我在一个开源软件中找到的一种用法,我不太明白它是如何工作的。当我将它输出到标准输出时,它是“版本0.8.0”。constcharversion[]="version""0"".""8"".""0"; 最佳答案 这称为字符串连接——当您在源代码中将两个(或更多)带引号的字符串彼此相邻放置且它们之间没有任何内容时,编译器会将它们放在一起成为一个字符串。这最常用于长字符串——任何超过一行的字符串:charwhatever[]="thisisthefirstlineofthestring\n""thisisthesecondlineof

c++ - 将 QString 转换为 char * 的简洁方法(不是 const char* !!!!)

我有一个丑陋的代码来处理这些东西(创建一个c字符指针并在其中复制QString)但也许......以一种优雅的方式存在于QT中......实际代码:QStringmaquinaisamethodparameter.char*c_maquina=newchar[maquina.length()+1];strcpy(c_maquina,maquina.toStdString().c_str());仅供引用,我需要一个REALchar*而不是简单的constchar*所以这段代码不起作用:idMaquina.toLatin1().data();我不能使用http://developer.qt

C++ 和 QT4.5 - 传递一个 const int& 矫枉过正?通过引用传递对信号/插槽有帮助吗?

两个问题合而为一...对于实时视频处理应用程序,我有许多函数每帧调用多次。听取有关const和按引用传递的建议,这些函数的签名有点像这样voidprocessSomething(constint&value);当我不断输入几个额外的字符时,我想知道这是否有点矫枉过正。第二个问题,关于通过引用传递的主题,在QT的槽/信号机制中,通过引用传递是否有助于防止在正常函数调用中复制对象? 最佳答案 是的,这是矫枉过正,实际上会导致代码比按值传递int慢。一个int是四个字节;引用(本质上是一个内存地址)也是四个字节(在32位机器上)或八个字节

c++ - 如果成员函数影响逻辑状态而不是按位状态,它们应该是 "const"吗?

我正在编写一个类来包装控制硬件设备的遗留CAPI。在一个简化的例子中,我可能有这样的东西:classdevice{public:voidset_request(intdata){legacy_set_req(p_device,data);}intget_response()const{returnlegacy_get_rsp(p_device);}private:device_handle_t*constp_device;};类本身没有按位状态;因此,我可以选择将set_request()声明为const,编译器会对此感到满意。但是,从语义的角度来看,考虑到它会影响对象的可观察行为,这

c++ - 具有类型 'const CompareVPtrs' 的表达式将丢失一些 const-volatile 限定符以便调用

我正在用C++实现十五个益智控制台游戏,引发了以下错误Error4errorC3848:expressionhavingtype'constCompareVPtrs'wouldlosesomeconst-volatilequalifiersinordertocall'boolCompareVPtrs::operator()(Vertex*,Vertex*)'c:\programfiles\microsoftvisualstudio11.0\vc\include\xfunctional3241puzzle15这是我的结构structCompareVPtrs:publicbinary_fu

c++ - 我在滥用 `const` 吗?

最近几周,我发现自己到处都在使用大量的const。不仅在方法或参数声明中,甚至在临时变量中也是如此。让我用一个简单的函数来说明。我曾经写过://Adummyfunctionthatsumssomecomputationresultsunsignedintsum_results(constOperation&p1,constOperation&p2){unsignedintresult1=p1.computeResult();unsignedintresult2=p2.computeResult();//Wellthisfunctioncouldbeinonesinglelinebut/

c++ - 错误 : cannot convert 'const wchar_t [13]' to 'LPCSTR {aka const char*}' in assignment

//includethebasicwindowsheaderfile#include#include//theWindowProcfunctionprototypeLRESULTCALLBACKWindowProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);//theentrypointforanyWindowsprogramintWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){//thehandleforthew