c_cpp 使用c ++运行动态调度系统,其中由C ++向量管理的值可以在C中编辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 使用c ++运行动态调度系统,其中由C ++向量管理的值可以在C中编辑相关的知识,希望对你有一定的参考价值。

// Example program for dynamic vector value changing
#include <iostream>
#include <vector>

struct elem {
    void* data;
};

int main()
{
  std::vector<elem> items;
  char mes[30] = "Hello world!";
  elem g = {&mes};
  items.push_back(g);
  elem * newg = items.data();
  char* holder = (char*)newg->data;
  std::cout<< holder << std::endl;
  //Hello world!
  
  holder[4] = '$';
  std::cout<< holder << std::endl;
  elem * chg = items.data();
  char* chholder = (char*)chg->data;
  std::cout<< chholder << std::endl;
  
  char newmes[40] = "bad world";
  items.data()->data = &newmes;
  holder = (char*)newg->data;
  chholder = (char*)chg->data;
  std::cout<< holder << std::endl;
  std::cout<< chholder << std::endl;
  
}
/**
 * Hello world!
Hell$ world!
Hell$ world!
bad world
bad world*/

以上是关于c_cpp 使用c ++运行动态调度系统,其中由C ++向量管理的值可以在C中编辑的主要内容,如果未能解决你的问题,请参考以下文章

Linux下C/C++动态库在运行时是怎样加载进来的

Linux下C/C++动态库在运行时是怎样加载进来的

C程序内存分配

Linux下C/C++动态库在运行时是怎样加载进来的

C 语言编程 — fork 进程操作

用c语言写的程序在电脑中所占用的内存系统会不会自动清理