我是C++的初学者,目前我正在使用字符串.
我的问题是为什么在编译我在下面提供的代码时,我可以在使用索引表示法时获取字符串的字符,但是无法使用字符串本身cout?
这是代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string original; // original message
string altered; // message with letter-shift
original = "abc";
cout << "Original : " << original << endl; // display the original message
for(int i = 0; i<original.size(); i++)
altered[i] = original[i] + 5;
// display altered message
cout << altered[0] << " " << altered[1] << " " << altered[2] << endl;
cout << "altered : " << altered …Run Code Online (Sandbox Code Playgroud) 为什么我必须在code函数内部的以下示例中对指针进行类型转换才能返回类型的值,char因为我已经在函数定义中将其声明为char的常量指针?
特别cout << (*p + 1)是结果是整数格式,而当更改为时,cout << (char) (*p + 1)结果以char格式显示,因为我对它进行了类型转换.
<<操作员是否有一些关于要显示的类型的默认参数?
#include <iostream>
using namespace std;
void code(const char* p);
int main()
{
code("This is a test");
return 0;
}
void code(const char* p)
{
while(*p)
{
cout << (*p + 1);
p++;
}
}
Run Code Online (Sandbox Code Playgroud)