c++-关于vector嵌套使用的问题

问题描述

关于vector嵌套使用的问题

class person
{
public:
CString name;
std::vector vecfriends;

};
std::vector vecperson;
我想给person中的friends元素逐个赋值 然后显示
是这样写的
int i = -1;
void CSocial_testDlg::OnAdd()
{
UpdateData(TRUE);
person A;
A.name = m_name;
MessageBox("已添加");
m_name = "";
vecperson.push_back(A);
i++;
UpdateData(FALSE);
}

void CSocial_testDlg::OnButton3()
{
UpdateData(TRUE);
int j = 0;
vecperson[i].vecfriends[j] = m_friends;
j++;
MessageBox("已添加");
m_friends = "";
UpdateData(FALSE);
}

void CSocial_testDlg::OnShow()
{
// TODO: Add your control notification handler code here
CString str;
str = "姓名:";
for (int k = 0;k < vecperson[i].vecfriends.size();k++)
{
str = str + vecperson[i].vecfriends[k] + "
";
}
MessageBox(str);
}

运行了就挂了 是什么问题

解决方案

下个断点,看看在哪一步挂的。还有for()循环之前测试一下i的值是多少。

解决方案二:

vector的嵌套使用
嵌套vector的问题
C++局部变量指针保持在List,Vector中使用的问题

时间: 2024-09-20 00:23:22

c++-关于vector嵌套使用的问题的相关文章

linux使用msgpack及测试

在网络程序的开发中,免不了会涉及到服务器与客户端之间的协议交互,由于客户端与服务器端的平台的差异性(有可能是windows,android,linux等等),以及网络字节序等问题,通信包一般会做序列化与反序列化的处理,也就是通常说的打包解包工作.google的protobuf是一个很棒的东西,它不仅提供了多平台的支持,而且直接支持从配置文件生成代码.但是这么强大的功能,意味着它的代码量以及编译生成的库文件等等都不会小,如果相对于手机游戏一两M的安装包来说,这个显然有点太重量级了(ps:查了一下p

vc++编程问题-c++语言如何实现不同行有不同的列数

问题描述 c++语言如何实现不同行有不同的列数 比如第一行有4列,第二行只有1列.老师说这样做可以节省内存.如何做.求大神教教. 解决方案 给你个例子,可以用指针数组来实现: #include <iostream> using namespace std; int main () { // 定义一个指针数组 int *map[2]; // 第一行4列 map[0] = new int[4]; // 第二行2列 map[1] = new int[2]; // 分别赋值 for (int i=0;

C++算法、C#界面

问题描述 小弟最近在做一个工业控制上位机软件项目,准备用C#界面,C++/cli封装层,c++做底层算法,底层算法里面的数据很多是多层vector嵌套,C#里面用多层List嵌套去接收,发现性能很差,不知道哪位大大知道有类似的开源项目没有?三层架构的就可以了. 解决方案 解决方案二:自己顶一下!!!!解决方案三:能推荐几本C++CLI的参考书不?这类书感觉好少解决方案四:该回复于2016-01-31 23:14:33被版主删除解决方案五:性能很差?c#和C++PI/invoke的数据量很大么,c

c++-有关C++中容器嵌套的问题

问题描述 有关C++中容器嵌套的问题 最近看到一个程序,里面的一些东西不是太懂,首先容器的定义如下: typedef std::vector< std::set<int> > graph_t; 然后,又有: graph_t g; 主要是下面的代码我不太懂 g[this_pixel].insert( Map[ w*row + col + 1 ] ); g[ Map[ w*row + col + 1 ] ].insert( this_pixel ); 注释:this_pixel是一个i

acm icpc-关于二维数组和vector的关系

问题描述 关于二维数组和vector的关系 vector p[MAX],像这样定义vector和定义一个二维数组有什么不同,有什么好处或者坏处么? 解决方案 vector是线程安全的是,这是它最大的优点.坏处就是它的速度肯定会比普通的二维数组慢. 所以如果这里变量不是多线程用到的,最好不用vector. 解决方案二: vector 是动态的,适用于数据量大小不定的情况 二维数据,定义了就固定了,无法适应动态个数的情况.如果数据的个数能确定,用二维数组当然好过 vector . 解决方案三: C

程序设计方式 之 嵌套头文件包含方式

       一直以来写程序有个习惯,喜欢把常用的STL类,或者其他常用的类,变量,宏等定义到一个文件内,然后在使用其中一个类的地方包含这个文件.一直再使用,也一直存在困惑,这种设计方式的能否放心大胆的使用,对它始终心存畏惧,所有这些促使我完成这篇文章,并且经过种种测试,有足够的信心继续使用这种设计方式.        操作如下 定义base.h文件,包含基本的STL类,并且通过typedef建立不同的映射关系,以便减少不同的文件出现过多vector<string>之类的声明方式.当需要使用v

Java基础-16总结List的子类,ArrayList,Vector,LinkedList,泛型,增强for循环,静态导入,可变参数

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 Linked

怎么理解:c++不允许讲函数定义嵌套在另一函数定义中

问题描述 怎么理解:c++不允许讲函数定义嵌套在另一函数定义中 怎么理解:c++不允许讲函数定义嵌套在另一函数定义中能否简单说明一下,拜托! 解决方案 C++ 11开始,允许嵌套定义了,C++ 现在支持Lambda表达式. 解决方案二: http://www.cnblogs.com/haippy/archive/2013/05/31/3111560.html #include <vector>#include <iostream>#include <algorithm>

java中的容器类可以嵌套吗?

问题描述 java中的容器类可以嵌套吗? 我想构造一个二维的数组,行数是Vector类型的,然后每一行都是Set类型的,如下: Vector<Set<Integer>> g=new Vector<Set<Integer>>(); 这样合理吗? 解决方案 import java.util.*; public class Test{ public static void main(String[] args){ List> list = new Array