指针总是让我对我打算在代码中使用的逻辑一无所知,如果有人可以帮助我理解一些真正有用的概念。这是我程序中的代码片段,
vector <char> st;
char *formatForHtml(string str, string htmlTag)
{
string strBegin;
strBegin = "<";
strBegin.append(htmlTag);
strBegin.append(">");
strBegin.append(str);
string strEnd = "</";
strEnd.append(htmlTag);
strEnd.append(">");
strBegin.append(strEnd);
st.resize(strBegin.size());
for (int i =0;i <strBegin.size();i++) {
st[i] = strBegin.at(i);
}
return &st[0];
}
在上面的代码中,如果我必须返回的地址st[0]
,我必须编写类型的函数char *
。我需要知道这样做的原因,如果地址是整数值,为什么我不能将函数定义为int
类型?
PS这是一个初学者级别的疑问。