草庐IT

const-char

全部标签

c++ - 关于在 C++ 中返回 const 引用

我对在C++中返回const引用感到困惑。所以我在下面编写代码块并在gnuc++和visualstudio上进行测试。并找到不同的答案。谁能说出在C++中使用returnconst引用的好处以及在不同编译器上导致不同行为的原因。#includeusingnamespacestd;classA{public:A(intnum1,intnum2):m_num1(num1),m_num2(num2){coutm_num1*rhs.m_num1,this->m_num2*rhs.m_num1);}A(constA&rhs){this->m_num1=rhs.m_num1;this->m_num

c++ - 如何将 unsigned int 放入 char 数组并将其提取回来

有人可以解释为什么这不起作用吗?我正在尝试将一个unsignedint放入一个char缓冲区,然后将其取回另一个unsignedint。1#include2#include3intmain(){4unsignedinttester=320;5charbuffer[512];6memset(buffer,0,512);7memcpy(buffer,&tester,sizeof(unsignedint));8/*buffer[0]|=tester;9buffer[1]|=(tester>>8);10buffer[2]|=(tester>>16);11buffer[3]|=(tester>>

c++ - const在不同地方的c++中是什么意思

有什么区别conststring&getName()const{returnname;}和string&getName()const{returnname;}const开头和结尾是什么意思? 最佳答案 函数签名末尾的const表示该方法是一个const成员函数,因此您的两个方法都是const成员函数。开头的const表示返回的是常量。第一个示例是一个返回对内部数据的常量引用的常量方法,因此是常量正确的。第二个是const方法,返回对内部数据的非const引用。这不是const正确的,因为这意味着您将能够修改const对象的数据。对c

c++ - 删除 char* 进行字节转换

每次读取文件时,我都尝试使用不同长度的字节来读取二进制文件。获得值后,我尝试将字节转换为char*。我创建了一个简单的代码如下://ThiscodeiscompiledinVisualStudio2010typedefunsignedcharBYTE;BYTE*s;s=newBYTE[3];//Iread2bytesfromthefile,Iadd+1toreserveNULLs[0]='a';s[1]='b';s[2]=NULL;//justanexampleIget2bytesfromfilechar*b;b=newchar(sizeof(s));strcpy(b,(char*)s

c++ - 如何将 char* 转换为 TCHAR[ ]?

这个问题在这里已经有了答案:ConvertchartoTCHAR*argv[](2个答案)关闭9年前。char*stheParameterFileName=argv[1];//I'mpassingthefilenameasaparameter.TCHARszName[512];如何将char*转换为TCHAR[]?

c++ - const char * 和文字字符串有什么区别?

我正在处理一个具有QT小部件的表单,我必须在QTextEdit字段中设置一些值。我不得不调用一个声明如下的函数:voidSDB::setDescription(constchar*Description);当我用这个方法调用它时(i)constchar*desc=saveOptionsDesLineEditBox->text().toStdString().c_str();SDB::setDescription(desc);它在小部件的文本框中显示无法识别的符号。但是通过第二种方法调用(ii)SDB::setDescription(saveOptionsDesLineEditBox->

c# - 为什么要在 char 上使用定界符?基于c的

前几天我在用C#编写一些代码,这让我开始思考。如果char文字只能有1个字符(或定界字符),那么为什么我们需要结束定界符?比如目前我们需要这样写:charcharacter='s';而且在任何情况下(显然)这都行不通:charcharacter='sa';那为什么我们要结束'而不是暗示呢?例如:charcharacter='s;charanotherCharacter='\';可读性只会受到影响,因为我们已经习惯了当前的标准(不一定是因为这种方式的可读性较差)。 最佳答案 这是约定在这个unicode世界中,字符不一定表示为一个字符

c++ - 输出指针的 const 前缀

我有一段C++代码,我觉得有点困惑:intfoo(constchar*&bar)在这种情况下,如果我想将条形指针写入为:bar=...没关系。那么我应该如何理解这个const。const指针与指针指向const值有何不同? 最佳答案 const适用于它左边的任何东西,除非它左边没有任何东西,在这种情况下它适用于它右边的任何东西。这意味着在您的情况下,bar是对指向constchar的指针的引用。bar本身不是常量,可以修改。如果您将bar更改为char*const&bar,即-对指向char的常量指针的引用,您将不会无法完成该任务。

c++ - C++中const成员函数中的静态成员修饰

我正在处理链表,但无法修改const函数“voidPrint()const”中当前指针的值在函数Print中,我想做"current=head"然后像"current=current->link"一样递增,但不能这样做,bcz它表明“错误C3490:无法修改‘current’,因为它正在通过const对象访问e:\Cpp\projects\datastructureass-1\datastructureass-1\source.cpp831Data结构Ass-1"#includestructnode{intdata;node*link;};classList{node*head,*cu

c++ - 如何将 const 字符串值放入 map

我想创建一个map,std::mapm_mapResponseDesc;我正在使用operator[]在map中附加一个值:m_mapResponseDesc[STATUS_LIMIT]="Limithasbeenexceeded";STATUS_LIMIT类型为enum.我遇到错误:errorC2678:binary'=':nooperatorfoundwhichtakesaleft-handoperandoftype'conststd::basic_string'(orthereisnoacceptableconversion)请指出我做错了什么。我没有得到任何线索。