青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Lyt
posts - 16,comments - 61,trackbacks - 0

今天看msdn不小心瞄到C#的動態多維數組,忍不住流口水,如果自己也有一個該有多好,于是就開始動手湊。

剛開始被如何定義動態多維數組給卡住,我希望用起來像這樣:

Array<int> LytArray(321);   //以下代碼相當于定義了int[3][2][1];

可是構造函數的參數個數在使用前無法確定,難道要寫很多個構造函數,于是想了個辦法,把構造函數的參數單獨拿出來做手腳,并為此暗暗興奮=  =

    class ArrayDimension
    {
    
public:
        
int Data[MAX_ARRAY];
        
int Dimension;

        ArrayDimension(
const int index);
        ArrayDimension
& operator,(const int index);
    };


    template
<typename _Type>
    
class Array
    {
    
private:
        AutoPtr
<_Type> Data;
        ArrayDimension DimensionInfo;

    
public:
        Array(
const ArrayDimension Info);
    };

我以為在編譯Array<int> LytArray(3, 2, 1)時,3會用ArrayDimension來解釋,然后通過重載逗號來解決不知道有多少個參數的問題,事實上失敗了T_T:

error C2661: 'Lyt::Array<_Type>::Array' : no overloaded function takes 3 arguments 

具體為什么不給編譯,其實我不怎么明白,僅以此文記錄一時的胡思亂想,歡迎各位來噴~
posted on 2009-10-11 21:35 Lyt 閱讀(1863) 評論(14)  編輯 收藏 引用 所屬分類: 數據結構

FeedBack:
# re: 很傻很天真之Array
2009-10-12 00:48 | 空明流轉
沒什么噴的。。。編譯器直接把你咔嚓了。。。
你要是Array(ArrayDimension(3),2,1)
說不定就成了。  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 09:19 | Kevin Lynx
- -|
重載逗號運算符,不會改變函數中逗號的語義。 - -!
是用于改變逗號表達式中逗號的語義,如:
ArrayDimension a;
a, 1; //逗號表達式
標準的逗號表達式其實還應該有個返回值。如:
class Test
{
public:
Test( int i ) : index( i )
{
}

const Test &operator, ( const Test &other )
{
return *this;
}

private:
int index;
};

Test a( 1 ), b( 2 ), c( 3 );
c = a, b;

不懂C#里的動態多維數組,所以對你這里的需求不作評論。:)
如果要支持不定個數的參數,要么使用C里的...(如printf),要么重載很多版本,即使模板也無法解決這個問題。如果太懶不想寫那么多重載版本,可以考慮用宏自動生成這些代碼。  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 09:41 | 暗涌
重載逗號。。。。More Effective C++上說,重載這些不推薦重載的操作符,很難得到預期的行為。。。  回復  更多評論
  
# re: 很傻很天真之Array[未登錄]
2009-10-12 10:44 | goteet
可變參數
<stdarg.h>  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 11:07 | 陳梓瀚(vczh)
你應該這樣:
/*NewArray是一個全局變量*/
Array<int, 3> arrays=NewArray[3][4][5];  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 11:35 | 溪流
這樣能過:

class ArrayDimension
{
public:
int Data[MAX_ARRAY];
int Dimension;

ArrayDimension();
ArrayDimension(const int index);
ArrayDimension(const ArrayDimension &that);
ArrayDimension& operator,(const int index);
};


template<typename _Type>
class Array
{
private:
ArrayDimension DimensionInfo;

public:
Array(const ArrayDimension Info);
};

Array<int> arr((3, 2, 1));  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 12:38 | 陳梓瀚(vczh)
@溪流
把dimension放到template里面可以有以下效果:
Array<int, 3>::operator[]返回Array<int, 2>
Array<int, 2>::operator[]返回Array<int, 1>
Array<int, 1>::operator[]返回int

放到構造函數里面想達到這個效果是很麻煩的,而且把一個3維的數組賦值給2維是一件不能接受的事情。  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 13:02 | 溪流
@陳梓瀚(vczh)

嗯!這個方法不錯!  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 17:34 | 欲三更
@陳梓瀚(vczh)
模板參數只能是常量的前提下, 這樣搞和 intArray[3][4][5];有啥區別?  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 18:21 | 陳梓瀚(vczh)
@欲三更
不用常數,你想operator[]的返回類型是什么啊?  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 18:22 | 陳梓瀚(vczh)
@欲三更
我這里的常數指的是維度,當然跟尺寸是沒關系的  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 20:09 | Lyt
@空明流轉
這樣寫不順眼唉,而且是行不通的,我昨晚試過…  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 20:11 | Lyt
@暗涌
我知道最好別重載逗號,可是我也沒希望他到底先算哪個表達式,這樣還有差么?  回復  更多評論
  
# re: 很傻很天真之Array
2009-10-12 21:46 | 欲三更
@陳梓瀚(vczh)
哦, 你說的是對的, 中看走眼了, 看見123就下意識的一位是尺度.  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久九九热免费视频| 午夜精品理论片| 米奇777在线欧美播放| 欧美亚洲视频| 久久久精品动漫| 老司机67194精品线观看| 久久在线精品| 欧美激情中文字幕乱码免费| 欧美色大人视频| 国产乱人伦精品一区二区| 国产在线视频欧美一区二区三区| 国产一区二区三区免费观看 | 性做久久久久久久免费看| 亚洲一区三区视频在线观看| 亚洲欧美韩国| 久久久久国产免费免费| 免费观看久久久4p| 亚洲第一搞黄网站| 亚洲精品视频啊美女在线直播| 亚洲精品视频一区| 亚洲一区二区免费视频| 久久综合一区二区| 欧美日韩在线播放三区| 国产欧美综合一区二区三区| 亚洲国产精品电影| 亚洲欧美成人| 亚洲二区三区四区| 午夜一级在线看亚洲| 亚洲伊人一本大道中文字幕| 欧美精品国产精品日韩精品| 国产精品免费小视频| 亚洲高清资源| 欧美美女操人视频| 亚洲美女尤物影院| 亚洲色在线视频| 欧美一区二区在线看| 日韩视频一区二区| 欧美日韩一区二区三区在线视频| 日韩天堂av| 中文一区二区在线观看| 国产精品嫩草99a| 亚洲免费视频一区二区| 亚洲国产精品女人久久久| 另类成人小视频在线| 亚洲黄色大片| 99精品热视频只有精品10| 欧美日韩免费高清| 免费一级欧美在线大片| 激情久久久久久久久久久久久久久久| 欧美va天堂va视频va在线| 日韩一级黄色片| 国产精品观看| 国产精品久久久久久五月尺| 欧美日韩综合在线免费观看| 国产日韩欧美在线播放| 亚洲视频自拍偷拍| 性久久久久久久| 日韩午夜av电影| 欧美亚洲尤物久久| 亚洲一级二级在线| 久久精品国产一区二区三 | 亚洲美女av网站| 国产日韩欧美中文| 中日韩男男gay无套| 亚洲精品在线一区二区| 欧美a一区二区| 亚洲激情另类| 欧美成人资源网| 这里只有精品丝袜| 午夜亚洲伦理| 在线综合亚洲| 欧美**字幕| 亚洲欧美在线看| 亚洲男人的天堂在线aⅴ视频| 久久大香伊蕉在人线观看热2| 亚洲资源在线观看| 国产一区99| 久久香蕉国产线看观看av| 久久激情视频久久| 亚洲国产欧美一区二区三区久久| 欧美黑人一区二区三区| 欧美激情在线有限公司| 亚洲在线视频免费观看| 性久久久久久久| 最新成人av网站| 亚洲视频综合| 亚洲高清免费在线| 一区二区日韩| 一色屋精品视频在线看| 亚洲精品美女在线观看| 国产精品久久久久7777婷婷| 久久婷婷综合激情| 欧美区国产区| 久久综合给合久久狠狠狠97色69| 欧美激情一区二区三区全黄| 欧美在线观看一区二区| 欧美成人激情视频| 久久国产精品高清| 欧美日韩p片| 六月婷婷一区| 国产精品入口福利| 欧美国产第一页| 国产精品激情偷乱一区二区∴| 久久男人资源视频| 国产精品videosex极品| 免费看的黄色欧美网站| 国产精品久久久久久亚洲调教| 欧美国产激情二区三区| 国产欧美日韩三级| 夜夜躁日日躁狠狠久久88av| 亚洲高清一区二区三区| 亚欧成人在线| 亚洲欧美久久久| 欧美人交a欧美精品| 欧美mv日韩mv国产网站app| 国产美女高潮久久白浆| 日韩视频二区| 亚洲人成人99网站| 久久久久久一区二区| 欧美一区二区三区在| 久久精品视频免费观看| 国产精品成人va在线观看| 亚洲国产另类久久精品| 在线观看视频免费一区二区三区| 亚洲欧美综合精品久久成人| 亚洲一区二区免费视频| 欧美日韩精品| 亚洲乱码国产乱码精品精可以看 | 麻豆精品传媒视频| 久久精品毛片| 国产人妖伪娘一区91| 午夜精品999| 久久精品一区蜜桃臀影院| 国产日韩欧美视频在线| 欧美一级二级三级蜜桃| 欧美中日韩免费视频| 国产日产精品一区二区三区四区的观看方式 | 亚洲国产日韩一区| 亚洲精品视频免费观看| 免费成人毛片| 亚洲国产日韩综合一区| 日韩午夜高潮| 欧美日韩综合视频网址| 在线视频欧美日韩| 亚洲欧美日韩国产综合在线| 国产精品视频不卡| 欧美一区二区三区另类| 久久9热精品视频| 国产午夜精品一区二区三区欧美 | 亚洲欧洲日韩在线| 一区二区三区不卡视频在线观看 | 欧美极品aⅴ影院| 99综合电影在线视频| 亚洲欧美影音先锋| 激情成人在线视频| 欧美国产免费| 亚洲午夜伦理| 免费不卡在线观看| 一卡二卡3卡四卡高清精品视频 | 国产日韩欧美麻豆| 久久人人97超碰国产公开结果| 欧美大片在线看| 亚洲视频你懂的| 国产亚洲欧美aaaa| 欧美丰满高潮xxxx喷水动漫| 中文精品99久久国产香蕉| 久久免费精品视频| 一本色道久久综合亚洲精品按摩| 国产人成一区二区三区影院| 免费成人你懂的| 亚洲欧美中文日韩v在线观看| 免费成人在线观看视频| 一本色道久久综合亚洲精品不卡| 欧美中文在线观看| 欧美电影在线| 欧美一级日韩一级| 亚洲人成绝费网站色www| 国产欧美二区| 欧美理论电影在线观看| 欧美一区二区三区在线播放| 亚洲日韩视频| 另类av一区二区| 翔田千里一区二区| 亚洲欧洲精品一区二区精品久久久 | 噜噜噜躁狠狠躁狠狠精品视频| 亚洲精品乱码久久久久久日本蜜臀| 久久国产一二区| 亚洲手机视频| 亚洲日本黄色| 国产欧美日本在线| 欧美日本中文字幕| 免费亚洲电影在线| 久久国产精品亚洲va麻豆| 日韩一区二区久久| 欧美激情按摩| 久久女同互慰一区二区三区| 亚洲婷婷在线| 亚洲免费精彩视频| 亚洲大片在线观看| 国产主播精品在线|