| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:c++ boost 向量在结构体中定义
只看楼主 加入收藏
tomaschen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
c++ boost 向量在结构体中定义
   本人是c++的菜鸟,向大家请教有关结构体与向量的问题:
    struct std
      {
          int id;
          vector<double> b(3);//错误,我想定义一个(x,y,z)向量的???  
       }sss;
我的头文件是:

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
// #include <vector>


#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/triangular.hpp>
搜索更多相关主题的帖子: 向量 boost 结构体 定义 
2010-08-28 15:08
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
不是这样玩的,如下即可:

程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <vector>
using std::vector;

typedef struct _DOUBLEPOINTER
{
    double X;
    double Y;
    double Z;
}DOUBLEPOINTER, *PDOUBLEPOINTER;

struct _std
{
    int id;
    vector<DOUBLEPOINTER> b;//OK
};


举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-29 00:18
tomaschen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-28
收藏
得分:0 
回复 2楼 东海一鱼
非常感谢你,我知道该怎么做了啊!哈哈,谢谢了!
2010-08-29 11:13
tomaschen
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-28
收藏
得分:0 
回复 楼主 tomaschen
请问怎么进行赋值呢?
2010-08-29 11:20
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <vector>
using std::vector;

typedef struct _DOUBLEPOINTER
{
    double X;
    double Y;
    double Z;
}DOUBLEPOINTER, *PDOUBLEPOINTER;

typedef struct _std
{
    int id;
    vector<DOUBLEPOINTER> b;//OK
}MYSTD, *PMYSTD;

void main()
{
    MYSTD stData;
    DOUBLEPOINTER OnePoint = {0.1,36.72,9.188475},TwoPoint;
   
    stData.id = 1;
    stData.b.push_back(OnePoint);
    stData.b.push_back(TwoPoint);

    stData.b[1].X = 0.744;
    stData.b[1].Y = 83.1;
    stData.b[1].Z = 11.55;

    for(int i = 0; i < stData.b.size(); i ++)
    {
        printf("%f,%f,%f\n",stData.b[i].X,stData.b[i].Y,stData.b[i].Z);
    }
}


举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-29 14:37
快速回复:c++ boost 向量在结构体中定义
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071805 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved