看板 C_and_CPP 關於我們 聯絡資訊
最近在練習打UVA的題目 我大部分都用C做 雖然有時候要自己弄資料結構 不過大致上覺得打得蠻順的 前幾天閒來無事看看統計數據 發現我非常多人都用C++打 而且速度快地也有大半是C++的code 讓我也想來試試看C++ 我強迫我用C++打了一次 雖然有做出來,不過其實我也只是把stdio改成iostream 然後裡面用cin cout 沒有用什麼別的library,整份code看起來和C根本一樣 我其實C、C++、JAVA都會打 物件導向觀念應該也蠻清楚的 不過我覺得UVA的題目似乎不用動用物件導向來解 而且我覺得我不熟C++的library 用起來就沒有如虎添翼的感覺 請問我應該要怎麼做 才可以強迫我打的code比較像c++的風格? 是去搞清楚C++常用的library嗎? 還有什麼其他要注意的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.86.2
azureblaze:做做看大一點的專案吧 03/20 22:07
azureblaze:這種一兩個feature的競賽題目用OOP有點疊床架屋 03/20 22:08
johnjohnlin:我作過一題運算很少的題目,把 iostream 改成 stdio 03/20 22:18
johnjohnlin:速度從 126->42ms,從此我就不太喜歡用 iostream 了 03/20 22:19
CCWck:換寫java比較快 不想物件導向都不行 03/20 22:26
james732:做一些好玩的東西?譬如java就做個Android app之類 03/20 22:28
james732:整個架構會強迫使用物件導向XD 03/20 22:28
james732:之前好像有人測過,cout的效能其實是endl所影響的? 03/20 22:29
大家好像誤會我的意思了 我是想問說,如何用C++的方式來寫UVA上面的問題 因為好像很多人這樣用 去比賽的高手似乎也都用C++ @@ 我有用寫過android的APP,所以不是想要特別練物件導向 是想要知道為何高手都用C++ 還有要如何用C++才可以變高手XD ※ 編輯: friendever 來自: 220.133.86.2 (03/20 22:32)
a27417332:該怎麼說...標準競賽選手思維(? 03/20 22:35
purincess:"高手都用C++" vs "文青都用macbook" 03/20 22:39
Aztecs:上傳是C++ 搞不好內容都還是C.. 03/20 22:41
loveflames:可以串一下stderr 03/20 22:46
loveflames:endl之所以慢是因為fflush 03/20 22:47
azureblaze:用c++不代表用OOP 很多高手用c++可能只代表很多人用c++ 03/20 22:52
loveflames:c++可是說是4+1種語言的混合 03/20 22:58
bibo9901:你用過STL的map, priority queue等等嗎? 03/20 22:58
loveflames:OO C++只是其中一種 03/20 22:59
bibo9901:如果只是把stdio換成iostream, 那C/C++對你來說是一樣的 03/20 22:59
bibo9901:也有另一種可能就是你所有資料結構都自己寫 (致敬) 03/20 23:00
loveflames:用過STL就不會把C++當成純OO語言了 03/20 23:01
loveflames:C轉C++,第一個要做的是比較語法相同時的差異 03/20 23:04
joshnash:比賽要在短時間內寫出來吧 所以STL的container很常用到 03/20 23:12
Ebergies:iostream 超級慢, AC 的改 cout 就變 TLE 03/20 23:31
legnaleurc:不熟 STL 就沒必要用 C++ 03/21 13:12
legnaleurc:拿掉 STL 的 C++ 對寫競賽沒什麼幫助 03/21 13:13
Fenikso:map超重要 XD 03/21 14:43
descent:c 風格也是 c++ 的一種風格, 你用的就是 c++ 風格了 03/21 17:35
a27417332:之前有人看到我用C++寫出程序導向被罵說是學得不倫不類 03/21 18:38
a27417332:到底是多少人認為用C++非得跟OOP畫上等號... 03/21 18:39
a27417332:一方面我討厭透過寫解題來學程式也是這種原因 03/21 18:40
a27417332:去看看OGRE那類的東西吧?或許自己會有些想法 03/21 18:41
a27417332:而且並不會因為風格變了,速度翻倍吧... 03/21 18:42
a27417332:再說,如果想要成為C++方面的高手,這比賽絕對不是關鍵 03/21 18:44
MOONRAKER:樓上他如果看到以前我們的Java程式大概就吐血死亡了 |D 03/21 19:11
loveflames:C++可以分成C/OO C++/generic C++/metaprogramming/asm 03/21 19:39
loveflames:asm本身語法不在規範內,不過因為有asm關鍵字 03/21 19:41
loveflames:所以列一下,個人的喜好 03/21 19:41
testPtt:C++/clr 03/21 20:28
pcyu16:只考慮解 UVA Online Judge 那類 problem-solving 問題的話 03/22 01:19
pcyu16:你應該試著學 STL container/algorithm 看看是不是你要的 03/22 01:19
pcyu16:順便找一下跟這些概念有關的題目來做做看 03/22 01:46
loveme00835:C++ = RAII + TMP 03/23 17:11
loveflames:metaprogramming還有macro跟constexpr 03/23 20:42
virve:C++就跟前幾樓說的一樣有stl可以用,一些資料結構可以不用 03/24 00:59
virve:自己刻 uva用cin cout很慢…繼續用scanf printf就好 03/24 00:59
holymars:競賽題應該沒人在跟你OOP的,所以C++真的只有差在STL.. 03/25 20:37
Arton0306:不要用acm的題目來練c++ 非常不適合 03/29 01:32
amozartea:至少不要用C89 04/04 17:45