Re: [問題] C++ Variable-length argument

看板C_and_CPP作者 (shihyuyao)時間12年前 (2013/04/27 13:18), 編輯推噓0(007)
留言7則, 1人參與, 最新討論串3/3 (看更多)
我函數第一個參數是個固定的 int 型態 , 後面就是不定參數 , 包含 int long string 但是參數個數不一定 foo(int, ...); // 呼叫的函數 下面兩組程式碼要先定出參數個數 ?? 但是因為是不定參數輸入會幾個不知道, 只確定 輸入的型態是 int long string 這三種 , 這樣要怎麼處理? template < typename T0 > void foo( T0 ); template < typename T0, typename T1 > void foo( T0, T1 ); 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.100.156

04/27 22:00, , 1F
拿上面的模板來說, 我問你 foo(1) 跟 foo(1,2) 各會呼
04/27 22:00, 1F

04/27 22:00, , 2F
哪一個模板產生的實體? 傳進來的參數個數在呼叫的時候
04/27 22:00, 2F

04/27 22:01, , 3F
就已經知道, 然後就可以分派給不同的函數做事情, 對不
04/27 22:01, 3F

04/27 22:02, , 4F
同函式而言, 它們自己知道有幾個, 這個是 overloading
04/27 22:02, 4F

04/27 22:02, , 5F
的基本概念
04/27 22:02, 5F

04/27 22:03, , 6F
你要真用一個函式去解決, 那麼就要有union +type code
04/27 22:03, 6F

04/27 22:04, , 7F
的心理準備, 參數就變成一個指標或是 vector<T>
04/27 22:04, 7F
文章代碼(AID): #1HUz0NHW (C_and_CPP)
文章代碼(AID): #1HUz0NHW (C_and_CPP)