Re: [問題] 兩題C++的問題.樣板與結構

看板Programming作者時間13年前 (2011/04/05 16:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/6 (看更多)
==> yauhh.bbs@ptt.cc (喲) 提到: > ※ 引述《supercygnus (......)》之銘言: > : 第一題:試用C++裡function template的方式, > : 寫出一個swap function,作任何兩個相同型態變數的交換功能。 > : 以下是我的程式碼 > : #include <iostream> > : #include <cstdlib> > : using namespace std; > : template<class T> > : T swap(T &a,T &b){ > : int temp; > : temp=a; > : a=b; > : b=temp; > : } > 這看不出疑點嗎? T 型態的 a, b 透過 int 型態的 temp 做交換處理, > 很有問題. 改成 T swap (T *a,T *b) { T *temp; temp=a; a=b; b=temp; } 試試看 > : int main(void){ > : cout<<"swap(5,8)="<<swap(5,8)<<endl; > : system("pause"); > : return 0; > : } > : 我有想到用call by reference的方式,可是要怎麼寫到樣版呢~? > : 目前程式碼不能跑 > : 第二題:利用C語言的語法,定義下列資料型態: > : Structures BitCard包含三個unsigned bit欄位(fields), > : 換言之,face, suit, color的長度分別是4, 2及1 bits。 > : 長度分別是4, 2及1 bits。怎麼有這麼短的資料型態,到底是??? > 一般中文書很少提到的一種語法是標記使用位元數的語法: > struct BitCard { unsigned face:4; unsigned suit:2; > unsigned color:1; }; > 結構長度不變,但三個欄位會只使用指定數量的位元數目. -- 只有充滿感情的歌聲能阻止世界末日發生, 音樂才是真正的第五元素. -- ☆ [Origin:椰林風情] [From: host-58-115-151-138.dynamic] [Login: **] [Post: **]
文章代碼(AID): #1Dcim-BZ (Programming)
討論串 (同標題文章)
文章代碼(AID): #1Dcim-BZ (Programming)