请问在VC++中vector>可以转换成vector>吗?急!!!!

qq422370080 2009-04-23 08:53:58
请问在VC++中vector<vector<int>>类型可以转换成vector<vector<long>>类型吗?急!!!!
补充:容器里面的数据很大,要是使用循环一个个改,会很麻烦~~!
...全文
463 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yshuise 2009-04-27
  • 打赏
  • 举报
回复 1
方便的方法应该是:
  vector<int> Int;
vector<double> Double(Int.begin(),Int.end());
HotSoftg 2009-04-27
  • 打赏
  • 举报
回复

....
if (sizeof(int) == sizeof(long))
{
//
}else
{
//
}

32位转64位,数据不会丢失。
64位转32位,数据会丢失。
qqrock 2009-04-24
  • 打赏
  • 举报
回复
直接memcpy
qq422370080 2009-04-24
  • 打赏
  • 举报
回复
10楼说的强制转换方法可以用,谢谢了!!但这样做会不会导致什么内部错误?我们无法预测~~
na2650945 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mengde007 的回复:]
根据平台的不同而言吧;win32平台的int,long都是4个字节;其它的平台查查看;
[/Quote]
个人感觉是正解。
  • 打赏
  • 举报
回复
只要int和long一样大.那么强制转换.

#include<vector>
using namespace std;
int main(int argc, char* argv[])
{
vector<vector<int > > xx(10);
for(int i=0;i<10;i++){
xx[i].resize(10);
for(int j=0;j<10;j++)
xx[i][j]=j*i;
}
vector<vector<long> >& v = * reinterpret_cast<vector<vector<long> >* >( &xx ) ;
for(int i=0;i<10;i++){

for(int j=0;j<10;j++)
printf("%3d " , v[i][j]);
printf("\n" );
}
return 0;
}
  • 打赏
  • 举报
回复
。。好奇怪的需求,既然全部要改。。重新运行一次就可以了。你能不能把你的处境说一下?
bfhtian 2009-04-23
  • 打赏
  • 举报
回复
不记得有
pengzhixi 2009-04-23
  • 打赏
  • 举报
回复
首先有些平台的int和long都是4字节,另外不存在什么快速的方法将long转换成int,vector没提供这方面的函数,就算有,我想它的实现也是遍历来实现的。而且就算有,我估计会导致vector重新分配内存。
diannaomingong 2009-04-23
  • 打赏
  • 举报
回复
要用的时候再转换元素吧,把里面整个换掉又不遍历似乎不怎么现实
qq422370080 2009-04-23
  • 打赏
  • 举报
回复
谢谢楼上的各位!!
我再补充一下问题:vector容器里面的数据很大,通过循环一个个转换效率很低!单个int型变量可以隐性转换为long型变量,但对于vector容器不能采用这种方法~~有没有可以强制转换的函数??(再补充一下:普通变量的强制转换函数,如static_cast()等等,对于vector无效~~)
*^-^*
jackyjkchen 2009-04-23
  • 打赏
  • 举报
回复
32位平台,int = long
duyouxuanduyouxuan 2009-04-23
  • 打赏
  • 举报
回复
按照long 访问 int
mengde007 2009-04-23
  • 打赏
  • 举报
回复
根据平台的不同而言吧;win32平台的int,long都是4个字节;其它的平台查查看;
lingyin55 2009-04-23
  • 打赏
  • 举报
回复
应该不行,只能一个一个改过了。
内容概要:本文档围绕“光伏并网逆变器序阻抗建模、扫频辨识与弱电网交互稳定性分析”展开,提供基于Matlab和Simulink的完整代码与仿真模型,复现了相关博士论文的核心研究成果。内容聚焦于新能源发电系统接入弱电网时的稳定性问题,系统阐述了光伏逆变器的正负序阻抗建模方法、小信号扫频辨识技术、锁相环与电流环的动态耦合效应、LCL滤波器的作用机制以及系统宽频带振荡的失稳机理。通过构建精确的序阻抗模型并结合扫频法进行稳定性判据分析,深入揭示并网逆变器与弱电网间的交互特性,为实际工程振荡问题的预测、诊断与抑制提供坚实的理论支撑与有效的技术路径。; 适合人群:具备电力电子、自动控制理论及新能源发电系统基础知识,正在从事相关领域研究的硕士/博士研究生、高校科研人员以及电力系统行业的工程师。; 使用场景及目标:①复现并验证博士论文关于光伏逆变器序阻抗建模与弱电网交互稳定性的关键结论;②作为科研项目或学位论文的技术蓝本,开展弱电网环境下并网系统稳定性仿真与机理研究;③深入掌握Matlab/Simulink在电力系统小信号稳定性分析、特别是阻抗建模与扫频法应用方面的高级仿真技能。; 阅读建议:学习者应结合所提供的Matlab代码与Simulink仿真模型,亲手运行并调试扫频辨识程序,细致分析序阻抗建模的每一步推导与实现过程,重点关注锁相环动态特性对系统稳定裕度的影响,通过调整控制器参数与电网强度观察系统响应变化,从而深刻理解交互失稳的内在机理,实现从理论到实践的融会贯通。
内容概要:本文介绍了如何利用有限元分析获得的磁通链接图来建立永磁同步电机(PMSM)的高精度数学模型,并在Simulink环境实现仿真。该方法通过精确捕捉电机内部复杂的磁场分布,克服传统建模因理想化假设导致的精度不足问题,从而显著提升模型的真实性与可靠性。文系统阐述了从有限元仿真数据提取、磁链特性曲线拟合到导入Simulink构建动态仿真模型的完整流程,重点强调了数据处理的关键步骤与模型参数的映射关系,为高性能电机控制算法的设计、验证与优化提供了高保真的仿真平台。; 适合人群:具备电机学、电磁场理论基础及Simulink/MATLAB仿真能力的高校研究生、科研院所研究人员以及从事电机控制与电力电子系统开发的工程技术专家。; 使用场景及目标:①用于高校和科研机构开展先进PMSM控制策略(如FOC、MPC)的研究与教学实验;②服务于工业界对高精度电机数字孪生模型的需求,支持新型电机驱动系统的快速原型开发与性能测试;③帮助研究人员深入探究PMSM的非线性特性(如饱和、交叉耦合)及其对系统动态性能的影响。; 阅读建议:建议读者结合具体的电机设计参数与应用场景,严格按照文所述的数据处理与建模流程进行实践操作,特别注意有限元软件与Simulink之间的数据接口规范与单位一致性,确保物理信息的无损转换。同时,可进一步通过实验数据对仿真模型进行校准与验证,以评估其在不同工况下的准确性与鲁棒性。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧