如何打印出常量字符串的第一个元素?
How to print out the first element of a const string?
如何打印出常量字符串的第一个元素?
我试图做 std::cout <<路径[0] <<std::endl; 在 CLion 上 但是路径[0]不起作用,IDE会发出警告。
CLion警告说,
无法赋值,因为函数 'operator[]' 返回常量值。
type print(const std::string &path){}
您可以使用
std::string::at
它可用于从给定字符串中按字符提取字符。
考虑一个例子
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
string str = "goodday";
cout << str.at(0);
return 0;
}
希望这对您有所帮助。
首先,您可以忽略警告,有时编译器会抱怨不必要的事情,其次不要执行以下操作:
type print(const std::string &path){}
危险,首先传递字符串作为引用??从编译器的角度来看,字符串是 const 的,每次使用 += 时,您实际上是在创建一个新字符串。但是,如果您将 & 与字符串一起使用,则您正在告诉编译器您计划修改具有 const 类型的字符串对象.....使用字符串路径作为参数,但永远不要使用字符串和路径......
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 如何仅读取文本文件中的第一个值
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- 查找不在标准中的第一个值::设置<int>最小-最大值
- C++:忽略第一个 cin.ignore 之后的输入
- C++:递归地将字符串中一个字母的所有实例替换为另一个字母
- 在C++中打印多个矢量的第一个值
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- C++第一个cout将不会打印
- 我们可以在第一个else-if条件结束后使用另一个else-if条件吗
- OpenGL:第二个VBO破坏了第一个VBO
- 为什么第一个Dynamic_cast没有投射到基类?
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- C++ 为什么程序只读取第一个值
- 使用C 中字符串标头的getline()函数将第一个char存储在字符串对象中
- 在将字符串转换为整数后,是否有一种方法可以保持数字的第一个零
- 将第一个boost::regex匹配放入字符串中
- 有一个字符串如何从第一个' /r/n/r/n '得到它的内容,直到2行从字符串结束
- 删除二进制字符串中的第一个0