C/C++教程

C++拷贝内存的方式给属性赋值

本文主要是介绍C++拷贝内存的方式给属性赋值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <iostream>
#include <string.h>


using namespace std;

struct TestStruct {
    int id;
    char *a{nullptr};
    char *b{nullptr};
    char *c{nullptr};
};
int main(int argc, const char *argv[]) {
    int size = sizeof(TestStruct) + 6 + 3 + 2;
   auto st = (TestStruct *) malloc(size);
    st->id = 100;

    char *c = "qiumc";
    char *d = reinterpret_cast<char *>(st + sizeof(TestStruct));
    memcpy_s(d, 6, c, 6);
    st->a = d;

    c = "11";
    d = reinterpret_cast<char *>(st + sizeof(TestStruct) + 6);
    memcpy_s(d, 3, c, 3);
    st->b = d;

    c = "x";
    d = reinterpret_cast<char *>(st + sizeof(TestStruct) + 6 + 3);
    memcpy_s(d, 2, c, 2);
    st->c= d;

    cout << st->a << endl;
    cout << st->b << endl;
    cout << st->c << endl;
}

 

这篇关于C++拷贝内存的方式给属性赋值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!