大家好,我是陆砚码。今天咱们来聊聊 assign 这个小技巧,它可是字符串和向量操作中的隐藏神器呢!学会了,你的代码效率能提升不少。
首先,我们来看看 string 的 assign
string 类型的 assign 有两种用法:
- assign(char*):替换整个字符串。
- assign(char*, int n):用新字符串的前 n 个字符替换原字符串。
#include
#include
using namespace std;
void main()
{
string str = "abc";
str.assign("d");
cout<
接下来,看看 vector 的 assign
vector 的 assign 也有两种用法:
- assign(vector.begin(), vector.end()):拷贝整个 vector。
- assign(int count, const T t):用类型为 t 的值填充 vector,大小为 count。
#include
#include
#include
using namespace std;
void main()
{
vector vec1;
for(int i=0; i< 10; i++)
{
vec1.push_back(i+1);
}
vector vec2;
vec2.assign(vec1.begin(), vec1.end());
vector::iterator iter;
cout<<"vec2:";
for(iter = vec2.begin(); iter != vec2.end(); ++iter)
{
cout<<*iter<<" ";
}
//vec2:1 2 3 4 5 6 7 8 9 10
vector vec3;
vec3.assign(10, 4);
cout<<"vec3:";
for(iter = vec3.begin(); iter != vec3.end(); ++iter)
{
cout<<*iter<<" ";
}
//vec3:4 4 4 4 4 4 4 4 4 4
}
怎么样,是不是觉得 assign 很实用?其实,编程中还有很多这样的小技巧,只要我们多加积累,就能让代码更加高效。我是陆砚码,关注「思享编程网」(www.sxgpb.com),带你一起探索编程的乐趣!
