您的位置:首页 > 编程语言 > C语言/C++

C++基础--string类的operator[]/at/back/front

2015-09-03 18:10 507 查看

1. string类的operator[]/at/back/front

1.1 std::string::operator[]

原型: const char& operator[](size_t n) const;

功能: 返回源字符串下标为n处的字符的引用。

说明: 不能被修改。

原型:char& operator[](size_t n);

功能: 返回源字符串下标为n处的字符的引用。

说明: 可以被修改。

代码示例:

#include <iostream>

#include <string>

using namespace std;
int main ()
{
const string str1("Test string");//const char &operator[](size_t n) const;
for (unsigned i=0; i<str1.length(); i++)
{
//str1[i]='a';
cout<<str1[i];
}
cout<<endl;

string str2("Test string");//char &operator[](size_t n);
for (unsigned i=0; i<str2.length(); i++)
{
str2[i]='a';
cout<<str2[i];
}
cout<<endl;

system("pause");
return 0;
}
=>Test string
aaaaaaaaaaa


1.2 std::string::at

原型: const char& at (size_t pos) const;

功能: 返回源字符串下标为n处的字符的引用。

说明: 不能被修改。

原型:char& at (size_t pos);

功能: 返回源字符串下标为n处的字符的引用。

说明: 可以被修改。

代码示例:

#include <iostream>

#include <string>

using namespace std;
int main ()
{
const string str1("Test string");//const char &operator[](size_t n) const;
for (unsigned i=0; i<str1.length(); i++)
{
//str1.at(i)='a';
cout<<str1.at(i);
}
cout<<endl;

string str2("Test string");//char &operator[](size_t n);
for (unsigned i=0; i<str2.length(); i++)
{
str2.at(i)='a';
cout<<str2.at(i);
}
cout<<endl;

system("pause");
return 0;
}
=>Test string
aaaaaaaaaaa


1.3 std::string::back

原型: const char& back() const;

功能: 返回源字符串最后一个字符的引用。

说明: 不能被修改。

原型:char& back();

功能: 返回源字符串最后一个字符的引用。

说明: 可以被修改。

代码示例:

#include <iostream>

#include <string>

using namespace std;
int main()
{
string str ("hello world");
//const char& c1 = str.back();
//c1 = '!';
char& c2 = str.back();
c2 = '!';
cout<<str<<endl;
system("pause");
return 0;
}
=>hello world!


1.4 std::string::front

原型: const char& front() const;

功能: 返回源字符串第一个字符的引用。

说明: 不能被修改。

原型:char& front();

功能: 返回源字符串第一个字符的引用。

说明: 可以被修改。

代码示例:

#include <iostream>

#include <string>

using namespace std;
int main()
{
string str ("hello world");
//const char& c1 = str.front();
//c1 = '!';
char& c2 = str.front();
c2 = 'H';
cout<<str<<endl;
system("pause");
return 0;
}
=>Hello world


参考文献:

[1] 网络资源: /]http://www.cplusplus.com/reference/string/string/operator[]/

       http://www.cplusplus.com/reference/string/string/at/

       http://www.cplusplus.com/reference/string/string/back/

       http://www.cplusplus.com/reference/string/string/front/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: