今天在做一些網路上的練習題的時候
做到一半,發生一個意外發現的東西
(可能對大家來說不怎麼意外)
就是像這樣
![]()
程式執行完成
![]()
我想請教的是,在倒數第二行程式碼
cout << &code [i];
這樣的寫法是正常的寫法,還是我運氣好,如果是正常的,那他代表的是什麼意思呢??
我想要的用這樣的用意是把string裡面的"+"去除,還是有其他更簡便或是更好的方式?
另外再請教一個問題,string的記憶體位址是不是只有一個,因為string看作一個整體,跟字元的每個元素都有一個記憶體位址是不一樣的?
謝謝大家
補上code:
#include <iostream>
#include <string>
#include <math.h>
#include <cstring>
using namespace std;
void code(){ //未完成,無須介意
}
int main()
{
string code,decode,originalcode;
int i=0 ;
cout << "If you wanna coding,add '+' in the title" << endl << endl ;
cout << "If you wanna decoding , please add '-' int the title" << endl
<<endl ;
cout << "Please type your content : " << endl << endl ;
getline(cin,originalcode);
if (originalcode[0]== '+')
{
for(i=0;i<originalcode.length();i++)
{
originalcode[i] = originalcode[i]+3; //註1
}
code = originalcode;
}
else if (originalcode[0]== '-')
{
decode = originalcode; //這部份還未完成
}
else
{
cout << "wrong content";
}
cout << &code[1]; //註2
return 0;
}