返回信息流☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 15:23:05 2009) 提到:
struct ji_lu
{
char nam[20];//变量名
int add;//目标地址
int typ;//类型编号
int wei;//维数
vector<int> yyh;//引用行
int ptr;// 入口指针
};
vector<ji_lu> fu_hao_biao;
int hang=0;
要是想往fu_hao_biao的某个元素里的yyh里插一个值,这样的语句对么?
fu_hao_biao[i].yyh.push_back(hang);
为什么打印出来的值不是往里面插的值呢?
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:08:38 2009) 提到:
打印函数贴出来看看。。。
【 在 yeahivan (日月花草相依伴) 的大作中提到: 】
: struct ji_lu
: {
: char nam[20];//变量名
: ...................
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:11:46 2009) 提到:
void fuhaobiao(words reg)
{
ji_lu dan_ci;
int i=0;//i用于判断fu_hao_biao向量插入到了第几个,以便判断下一个新变量的入口指针
while(i<fu_hao_biao.size()&&i>=0)//判断变量是否已存在
{
if((strcmp(reg.value,fu_hao_biao[i].nam)==0))//若存在则在它的引用行里再加一个元素
{
fu_hao_biao[i].yyh.push_back(hang);
i=-2;
}
i++;
}
if(i==fu_hao_biao.size())//若该变量是新变量则插入到向量中
{
strcpy(dan_ci.nam,reg.value);//变量名赋值
dan_ci.ptr=i;//入口指针赋值
dan_ci.yyh.push_back(hang);//引用行赋值
fu_hao_biao.push_back(dan_ci);//插入到向量中
}
}
整个函数就是这样的
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:16:33 2009) 提到:
你的hang这个变量在哪初始化的?
【 在 yeahivan (日月花草相依伴) 的大作中提到: 】
: void fuhaobiao(words reg)
: {
: ji_lu dan_ci;
: ...................
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:17:28 2009) 提到:
【 在 LoveRose 的大作中提到: 】
: 你的hang这个变量在哪初始化的?
是一个全局变量,要从其他函数里获取值
☆─────────────────────────────────────☆
Shinro (迷茫茫的孩子) 于 (Thu Jul 16 16:21:41 2009) 提到:
打印语句呢
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:22:19 2009) 提到:
没看明白你的i是怎么变的。。。
在while里面i一直在++,从while出来以后一定会满足if的判断条件吧?
【 在 yeahivan (日月花草相依伴) 的大作中提到: 】
: 是一个全局变量,要从其他函数里获取值
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:23:00 2009) 提到:
是不是要加个break?
【 在 LoveRose (江南西道|Movie) 的大作中提到: 】
: 没看明白你的i是怎么变的。。。
: 在while里面i一直在++,从while出来以后一定会满足if的判断条件吧?
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:25:18 2009) 提到:
【 在 LoveRose 的大作中提到: 】
: 没看明白你的i是怎么变的。。。
: 在while里面i一直在++,从while出来以后一定会满足if的判断条件吧?
对。while中的if成立后就应该break出来了,否则出来后必定满足了外面if的条件。
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:25:30 2009) 提到:
【 在 LoveRose 的大作中提到: 】
: 没看明白你的i是怎么变的。。。
: 在while里面i一直在++,从while出来以后一定会满足if的判断条件吧?
不会啊!如果符合while里的if条件,就会跳出循环的
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:26:24 2009) 提到:
==看错了。。。。。
【 在 yeahivan (日月花草相依伴) 的大作中提到: 】
: 不会啊!如果符合while里的if条件,就会跳出循环的
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 16:27:50 2009) 提到:
ls的们好可怜啊,你们都不是人啊..........
【 在 yeahivan 的大作中提到: 】
: struct ji_lu
: {
: char nam[20];//变量名
: ...................
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:27:58 2009) 提到:
还有就是我不太明白,因为用c比c++多
那个dan_ci,是一个结构,不是指针,那么每次push_back的时候,岂不是都将同样一个内存地址,不断修改了里面的值,然后增加到迭代器中?
反正类似的问题我在c中都是定义一个指针,然后每次要加入时都要重新malloc一个空间然后保存数据然后加入到链表中,直接用结构不行。
求解c++。
☆─────────────────────────────────────☆
winton (win小分队|TT) 于 (Thu Jul 16 16:29:09 2009) 提到:
fu_hao_biao[i].yyh.push_back(hang);
还是先把这个改过来吧。。。
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:29:38 2009) 提到:
呃~~那个while有点问题的样子~~ i-=2;然后i++;又回到了前一个元素;是不是这出错了~~不会c++~~看不大懂~
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:29:55 2009) 提到:
【 在 DH 的大作中提到: 】
: 对。while中的if成立后就应该break出来了,否则出来后必定满足了外面if的条件。
不会啊!只有不满足while里的if才会进入外面的if语句,如果满足i被赋值为-2,就跳出循环了
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:30:02 2009) 提到:
她写的是i = -2.....
【 在 NotGo (不靠谱||看门老头[路-右]) 的大作中提到: 】
: 呃~~那个while有点问题的样子~~ i-=2;然后i++;又回到了前一个元素;是不是这出错了~~不会c++~~看不大懂~
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:30:55 2009) 提到:
【 在 winton 的大作中提到: 】
: fu_hao_biao[i].yyh.push_back(hang);
: 还是先把这个改过来吧。。。
该成什么样子啊?
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:30:58 2009) 提到:
呀~~失误了~~
为什么不用break呢?
【 在 LoveRose 的大作中提到: 】
: 她写的是i = -2.....
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:31:02 2009) 提到:
弱问下怎么改。。。。。
【 在 winton (win小分队|TT) 的大作中提到: 】
: fu_hao_biao[i].yyh.push_back(hang);
: 还是先把这个改过来吧。。。
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:31:15 2009) 提到:
我也是这么想的。。。
【 在 NotGo (不靠谱||看门老头[路-右]) 的大作中提到: 】
: 呀~~失误了~~
: 为什么不用break呢?
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:31:20 2009) 提到:
【 在 NotGo 的大作中提到: 】
: 呀~~失误了~~
: 为什么不用break呢?
习惯问题吧。。学的时候老师就不让我们用break。。
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:33:06 2009) 提到:
【 在 LoveRose 的大作中提到: 】
: 弱问下怎么改。。。。。
我也很好奇……
☆─────────────────────────────────────☆
Shinro (迷茫茫的孩子) 于 (Thu Jul 16 16:33:45 2009) 提到:
【 在 winton 的大作中提到: 】
: fu_hao_biao[i].yyh.push_back(hang);
: 还是先把这个改过来吧。。。
我怎么觉得他这里这个没问题了呢
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:33:57 2009) 提到:
【 在 DH 的大作中提到: 】
: 还有就是我不太明白,因为用c比c++多
: 那个dan_ci,是一个结构,不是指针,那么每次push_back的时候,岂不是都将同样一个内存地址,不断修改了里面的值,然后增加到迭代器中?
: 反正类似的问题我在c中都是定义一个指针,然后每次要加入时都要重新malloc一个空间然后保存数据然后加入到链表中,直接用结构不行。
: ...................
不会,vector里用push_back就是自动插到队尾的。
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:34:46 2009) 提到:
不让用,真是令人费解~~~
goto不让用还可以理解~
算了,我还是不凑热闹了~~ .net我会比较清晰点,c++有点不太明白~
【 在 yeahivan 的大作中提到: 】
: 习惯问题吧。。学的时候老师就不让我们用break。。
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 16:35:34 2009) 提到:
我想说三点....
第一,if 后面的条件为什么要加两重括号
第二,m 呢? m 在哪里啊 m 在哪里?
第三,也是最重要的一点.....这些个变量名真的是好丑好丑啊............
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:37:07 2009) 提到:
代码确实写得不漂亮,半天没理解楼主这个函数是要干啥
【 在 ki 的大作中提到: 】
: 我想说三点....
: 第一,if 后面的条件为什么要加两重括号
: 第二,m 呢? m 在哪里啊 m 在哪里?
: ...................
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 16:37:12 2009) 提到:
你们老师太不专业了..............
【 在 yeahivan 的大作中提到: 】
: 习惯问题吧。。学的时候老师就不让我们用break。。
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:37:41 2009) 提到:
【 在 ki 的大作中提到: 】
: 我想说三点....
: 第一,if 后面的条件为什么要加两重括号
: 第二,m 呢? m 在哪里啊 m 在哪里?
: ...................
刚刚修改过的,还没有整理,因为一直不对。。
☆─────────────────────────────────────☆
Shinro (迷茫茫的孩子) 于 (Thu Jul 16 16:41:13 2009) 提到:
【 在 yeahivan 的大作中提到: 】
: 刚刚修改过的,还没有整理,因为一直不对。。
你怎么判断的插入值有问题啊
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:42:55 2009) 提到:
【 在 Shinro 的大作中提到: 】
: 你怎么判断的插入值有问题啊
因为打印出来的值不对啊。
☆─────────────────────────────────────☆
Shinro (迷茫茫的孩子) 于 (Thu Jul 16 16:44:32 2009) 提到:
【 在 yeahivan 的大作中提到: 】
: 因为打印出来的值不对啊。
晕。。。
贴打印语句出来看看
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:44:45 2009) 提到:
难说啊。。。。push_back函数肯定不会错的,也许是逻辑上的问题。。。
【 在 yeahivan (日月花草相依伴) 的大作中提到: 】
: 因为打印出来的值不对啊。
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 16:46:54 2009) 提到:
按照 lz 的思路这样就行了吧.....我没仔细去看.....
void fuhaobiao(words reg)
{
ji_lu dan_ci;
for(int i=0;i<fu_hao_biao.size();i++)
if((strcmp(reg.value,fu_hao_biao[i].nam)==0)) {
fu_hao_biao[i].yyh.push_back(hang);
return;
}
strcpy(dan_ci.nam,reg.value);//变量名赋值
dan_ci.ptr=i;//入口指针赋值
dan_ci.yyh.push_back(hang);//引用行赋值
fu_hao_biao.push_back(dan_ci);//插入到向量中
}
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:48:57 2009) 提到:
【 在 ki 的大作中提到: 】
: 按照 lz 的思路这样就行了吧.....我没仔细去看.....
: void fuhaobiao(words reg)
: {
: ...................
不对,你把i变成for里面声明的,后面就没办法用了
应该是dan_ci.ptr=fu_hao_biao.size();
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:50:11 2009) 提到:
我改写了下:
struct Record
{
char name[20]; //变量名
int address; //目标地址
int typeID; //类型编号
int dimension; //维数
vector<int> refVector;//引用行
int inptr; // 入口指针
};
vector<Record> sTable;
int hang=0;//一直是0??
void Fuhaobiao(words reg)
{
int index = 0;
int number = 0;//从来没用到过??
bool tag = fale;
while(index < sTable.Size())
{
Record record = sTable[index];
if( strcmp(reg.value,record.name)==0)
{
record.refVector.push_back(hang);
tag = true;
break;
}
index ++;
}
if(!tag)
{
Record singleWord;
strcpy(singleword.name,reg.value);
singleWord.inptr = sTable.Size();
singleWord.refVector.push_back(hang);
sTable.push_back(singleWord);
}
}
☆─────────────────────────────────────☆
yeahivan (日月花草相依伴) 于 (Thu Jul 16 16:50:12 2009) 提到:
【 在 ki 的大作中提到: 】
: 按照 lz 的思路这样就行了吧.....我没仔细去看.....
: void fuhaobiao(words reg)
: {
: ...................
恩,问题解决了。谢谢大家关注,这段代码没问题,是别的函数的问题。。再次感谢大家啦~~~
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 16:51:20 2009) 提到:
咳.....通常情况都是酱紫滴........
让我不禁想起昨天 linux 版上那个贴子了...........
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:52:49 2009) 提到:
呃~~我还兴致勃勃的改写代码~~也没发现什么问题~~
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:53:51 2009) 提到:
【 在 NotGo 的大作中提到: 】
: 呃~~我还兴致勃勃的改写代码~~也没发现什么问题~~
patpat 改完看起来特别舒服~
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:54:15 2009) 提到:
==
【 在 ki (谁) 的大作中提到: 】
: 咳.....通常情况都是酱紫滴........
: 让我不禁想起昨天 linux 版上那个贴子了...........
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:55:39 2009) 提到:
谢谢哇~~当年凭着标准的代码结构成功唬住带我做毕设的研究生~~其实最终我代码什么事都没做,就通过了毕业设计~~
【 在 DH 的大作中提到: 】
: patpat 改完看起来特别舒服~
☆─────────────────────────────────────☆
LoveRose (江南西道|Movie) 于 (Thu Jul 16 16:56:37 2009) 提到:
改了名字看得就是舒服。。。
【 在 NotGo (不靠谱||看门老头[路-右]) 的大作中提到: 】
: 我改写了下:
: struct Record
: {
: ...................
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 16:56:46 2009) 提到:
【 在 NotGo 的大作中提到: 】
: 谢谢哇~~当年凭着标准的代码结构成功唬住带我做毕设的研究生~~其实最终我代码什么事都没做,就通过了毕业设计~~
<----毕设做的代码分析,全阅读,无编码,特别水。
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 16:59:10 2009) 提到:
呵呵~~其实真的代码分析也是很困难的~~
看些标准代码库还比较舒服,碰到代码写的乱的人,基本就疯掉了~
【 在 DH 的大作中提到: 】
: <----毕设做的代码分析,全阅读,无编码,特别水。
☆─────────────────────────────────────☆
DH (永远的伊谢尔伦) 于 (Thu Jul 16 17:01:46 2009) 提到:
【 在 NotGo 的大作中提到: 】
: 呵呵~~其实真的代码分析也是很困难的~~
: 看些标准代码库还比较舒服,碰到代码写的乱的人,基本就疯掉了~
这学期一直在看开源软件qugga的代码,特别舒服~只不过全是c……我要学c++啊~!
☆─────────────────────────────────────☆
ki (谁) 于 (Thu Jul 16 17:03:51 2009) 提到:
【 在 NotGo 的大作中提到: 】
: 谢谢哇~~当年凭着标准的代码结构成功唬住带我做毕设的研究生~~其实最终我代码什么事都没做,就通过了毕业设计~~
[upload=1][/upload]
☆─────────────────────────────────────☆
NotGo (不靠谱||看门老头[路-右]) 于 (Thu Jul 16 17:05:22 2009) 提到:
嘿嘿~~我是按 c#标准些的~~ms的标准~
【 在 ki 的大作中提到: 】
:
这是一条镜像帖。来源:北邮人论坛 / cpp / #26784同步于 2009/7/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[合集] 请教大牛们,vector的push_back()用法
shenlei
2009/7/29镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。