程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++編程 - tuple、any容器

C++編程 - tuple、any容器

編輯:C++入門知識

C++編程 - tuple、any容器


C++編程 - tuple、any容器


flyfish 2014-10-29


一 tuple
tuple是固定大小的容器,每個元素類型可以不同

作用1 替換struct

struct t1
{
int nID;
double dVal;
};

替換為
typedef std::tuple t1;


作用2 任意個數的函數返回值
寫法1

std::tuple TupleFunction1()
{
	std::tuple tupRet(0,0);


	tupRet=std::tuple(1,2.1);


	return tupRet;
}


寫法2
std::tuple TupleFunction2()
{
	return std::make_tuple(1,2.1);
}


調用
auto ret=TupleFunction1();
 std::cout<(ret)<<" "<(ret)<< std::endl;

二 any
any容器采用boost庫中的any
boost::any 只存儲一個任意類型的元素
boost::any a=1;
boost::any b=2.1;

借助any建造一種可以存儲任意類型且大小動態變化的容器
	 std::vector v;
	 v.push_back(1);
	 v.push_back(2.1);


輸出函數
void OutputAny(boost::any a)
{
	if (!a.empty())
	{
		if(a.type() == typeid(int))
		{
			std::cout<< boost::any_cast(a)<(a)<
函數調用
for each(auto e in v)
{
	OutputAny(e);
}




以上程序在Visual C++2010下編譯通過

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved