草庐IT

const-string

全部标签

c++ - typedef 中的 const 警告

当我使用icc11编译C++程序时,它给出了这个警告:warning#21:typequalifiersaremeaninglessinthisdeclarationtypedefconstdirection_vector_ref_tdirection_vector_cref_t;它说const只是毫无意义。我对此很好奇,因为如果这个typedef展开它会变成constarray&和const绝对有意义。为什么会发出这个警告? 最佳答案 direction_vector_ref_t,我认为它是一个引用。引用在设计上是const的,因

c++ - 是否可以在使用 const 的所有地方使用 volatile?

我想知道volatile是否可以在const可以使用的任何地方使用,以及每种情况意味着什么。volatiledummy_classvolatiledummy_class&dummy_classvolatile*dummy_class*volatiledummy_classvolatile*volatile当涉及const时,这些都是不同的情况,相同的语义是否适用于volatile? 最佳答案 差不多。两者都是cv-qualifiers,几乎可以在任何地方使用。它们在C++语法中出现的唯一地方是:cv-qualifier:    co

c++ - 如何将 char 数组放入 std::string

我分配了一个char数组然后我需要将它作为一个字符串返回,但我不想复制这个char数组然后释放它的内存。char*value=newchar[required];f(name,required,value,NULL);//fillthearraystrResult->assign(value,required);delete[]value;我不想像上面那样做。我需要将数组放在std字符串容器中。我该怎么做?编辑1:我知道我不应该这样做,并且该字符串不是为此目的而设计的。MB有人知道我可以使用的char数组的另一个容器实现吗? 最佳答案

C++ 初学者 : what is the point of using a variable by reference if using "const"?

我想知道这个函数声明中的逻辑:CMyException(conststd::string&Libelle=std::string(),...按引用使用变量有什么意义?通常,只要变量可能在内部被修改,您就会通过引用传递一个变量...因此,如果您使用关键字const,这意味着它永远不会被修改。这是矛盾的。谁能给我解释一下? 最佳答案 实际上引用是用来避免不必要的对象拷贝。现在,要理解为什么使用const,试试这个:std::string&x=std::string();//error编译会报错。这是因为表达式std::string()创

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++ - const在不同地方的c++中是什么意思

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

c# - __declspec(dllexport)::vector <std::string>

我一直在努力弄清楚如何将字符串数组从C++DLL返回到C#应用程序,但我对如何执行此操作或在非常基础的级别上查找文章感到困惑。假设我有下面的代码。如何修复粗体线:extern"C"{__declspec(dllexport)intGetANumber();//unsureonthisline:**__declspec(dllexport)::vectorListDevices();**}extern::vectorGetStrings(){vectorseqs;returnseqs;}externintGetANumber(){return27;}谢谢马特

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++ - 输出指针的 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