数组内即能存int,又能存double,还能存string了

http://zhidao.baidu.com/question/76298192.html 

 

1、用一个共有基类统一所有打算放在一起的对象

class base_

{ }; class A:public base_

{

};

class B:...

... base * pClassArray[256];

 

2、可以用“联合”来代替

union utagObjCell{

 classA * o_a;

 classB * o_b;

};

utagObjCell unCell[128];

3、最新的C++规范里(TR1),支持“元胞”,其实就是很像Matlab里的CELL,用法:

// 博注:以前梦寐以求的,既可以存int,又可以存double,还可以存string的数组

// 理解有误阿,感觉tuple和struct差不多, 哎

 

#include <tuple>

#include <iostream>

#include <utility>

#include <string>

typedef std::tr1::tuple<int, double, std::string> Mytuple;

int main()

{  Mytuple c0(0, 3.1416, "Hello!");

 // display contents " 0 1 2 3"

 std::cout << " " << std::tr1::get<0>(c0);

 std::cout << " " << std::tr1::get<1>(c0);

 std::cout << " " << std::tr1::get<2>(c0);

std::cout << std::endl;

// display first element " 0"

std::tr1::tuple_element<2, Mytuple>::type val = std::tr1::get<2>(c0);

std::cout << " " << val;

std::cout << std::endl;

return (0);

}

 

参考资料:MSDN for VS2008 SP1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值