跳转到主内容
思享编程网:思考分享,玩转编程世界!

怎么用 assign?这招你肯定不知道!

大家好,我是陆砚码。今天咱们来聊聊 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),带你一起探索编程的乐趣!

相关文章