C_and_CPP 板


LINE

本魯一個弱弱的資工本科生。 在學校學過C、Java、javascript。 但後面兩個課上完後就沒碰過了(幾乎忘光)。 平常都是寫C(一些小遊戲、刷題) 專題也是用C語言。 想問如果單純專攻C語言,對未來就業好嗎? 還是需要搭配別的語言會比較好? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.72.222 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1594206803.A.5F9.html
1F:→ james732: 把你學過的這三個摸到精熟的話就非常厲害了 07/08 19:44
2F:→ Schottky: 光靠精通 C 語言就能賺飽飽了 07/08 19:56
3F:→ Schottky: 要不要學其他的語言看你自己高興,並不是必要的 07/08 19:59
4F:推 Killercat: C要精通很難 要靠這精通賺飽更難 可以看看硬體廠薪資 07/08 22:32
5F:→ Killercat: C++機會還大一點 憑良心說 XD 07/08 22:33
6F:推 Clangpp: c++才比較難學吧... 07/09 01:02
7F:推 Schottky: 如果你看到可以拿 C 刷題的人說自己弱,千萬別相信他。 07/09 02:08
8F:推 expiate: 刷題用 c那幾乎資料結構都是手刻的阿!神! 07/09 06:12
9F:→ Feis: 用 C 寫 LeetCode 的話,如果不要求一次過的話,個人經驗是 07/09 07:37
10F:→ Feis: 不會特別難。只是看目的 07/09 07:37
11F:→ Feis: 比較麻煩的主要是 I/O 處理 07/09 07:38
12F:→ Feis: 但剛好 LeetCode 比較少這問題 07/09 07:39
13F:→ Killercat: 不過以就業來講 台灣C除非頂尖 不然就是吃不飽餓不死 07/09 09:32
14F:→ Killercat: 為了就業而想多學的語言來講 我個人比較推java跟go 可 07/09 09:46
15F:→ Killercat: 以試試看這兩個 07/09 09:46
16F:推 lc85301: 不用,學 rust(欸 07/09 10:25
17F:推 MartinJ40: 愛惜生命遠離java/c++ 要也是python rust這些新興語言 07/09 10:38
18F:→ MartinJ40: 想走前後端js 07/09 10:39
19F:→ MartinJ40: C++擁有所有paradigm 怎麼可能比C簡單 07/09 10:41
20F:→ MartinJ40: 光template就是一個語言的難度 07/09 10:42
21F:→ Killercat: er..我說的C++機會大一點 是說「賺飽的機會」不是說好 07/09 11:22
22F:→ Killercat: 學。java是滿藍海的說真的,但是position目前來看還是 07/09 11:23
23F:→ Killercat: 很多,go的話是真的不錯,rust也讚但是目前機會較少 07/09 11:23
24F:→ cphe: 用C刷光是刻資料結構就飽了,刻完才是真正開始解題 07/09 12:42
感謝各位大大的建議了。 ※ 編輯: Matz (122.116.159.149 臺灣), 07/09/2020 16:35:04
25F:推 aecho: 啊嗚…就業的話…資料結構與演算法要學好呀 -.- 07/09 16:54
26F:→ aecho: 如果有教資料庫的話,那個ACID也要好好搞懂呀 Orz 07/09 16:56
27F:→ aecho: 進職後被丟去學MFC, C#, Obj-C 都是一堆學校沒教過的 07/09 16:57
28F:推 Schottky: 平常好像不會聽到有人勸開戰鬥機的去開計程車就好 07/09 19:01
29F:推 CoNsTaR: 系統語言 rust 最讚沒有之一 07/10 00:44
30F:推 KanzakiHAria: 不會有人想特地學戰鬥機目的是找工作啊 07/10 08:42
31F:→ KanzakiHAria: 想就業最多也是民航飛機 怎麼樣都不會是戰鬥機 07/10 08:42
32F:推 Schottky: 如果還沒學,我同意。但人家已經開著戰鬥機飛來飛去了 07/10 11:13
33F:→ Schottky: 然後你跟他說計程車的職缺比較多去學開計程車 07/10 11:13
34F:→ Killercat: C...戰鬥機喔... 好吧,只能說我尊重你的看法 XD 07/10 14:55
35F:→ Killercat: 人家就是問就業問題 當然就以市場來回答啊... 07/10 14:55
36F:→ Killercat: C在就業市場的確「相對沒那麼強勢」也是事實吧 07/10 14:57
37F:→ petercoin: 台灣高薪的軟體相關職缺還是IC廠韌體居多吧? 07/11 00:08
38F:推 Dracarys: S大描述的真傳神XD 07/11 00:08
39F:推 loveme00835: 人活得好好地為什麼要學希佳佳呢 Q_Q 07/11 01:53
40F:→ alex70266: 看就業的方向是哪種吧,往韌體/嵌入式走的話 07/11 16:09
41F:→ alex70266: 不太會C還是很痛苦的 07/11 16:10
42F:→ alex70266: 不過去摸點C++不是什麼壞事啦 07/11 16:14
43F:推 flarehunter: 我覺得不用執著語言,學點不同思考的方法,像是FP, 07/11 21:36
44F:→ flarehunter: OOP, 設計模式, 軟體工程,推薦看clean code系列書 07/11 21:36
45F:推 flarehunter: 反正出社會工作八成是沒學過的事,練基礎功總是有用 07/11 21:40
46F:推 flarehunter: M大說C++有所有範式,所以用C++學這些範式也不錯 07/11 21:48
47F:推 ddavid: 就算C真的是戰鬥機好了,你也要真的開得好才會賺得來,只 07/11 23:36
48F:→ ddavid: 是會開的話,升空也就是被打下來的分 07/11 23:37
49F:推 bben900911: 看起來對C頗有心得。 去IC廠當韌體寫C,薪水不錯吧? 07/12 00:09
50F:推 CoNsTaR: C++ 有所有範式反對一票,光是 fp 就沒有了 07/13 07:06
51F:推 flarehunter: 有c++11開始有lambda也可以傳來傳去 可以算有fp吧? 07/13 08:45
52F:推 CoNsTaR: 這和 fp 說他們有 first class module(或 record)存 co 07/13 08:59
53F:→ CoNsTaR: ntext,可以算 OOP 有什麼不同 XD 07/13 08:59
54F:推 ray2501: 不就有 lambda calculus,然後可以函式輸出和輸入,就算 07/13 10:23
55F:→ ray2501: 有初步支援了嗎? 從定義上來看,C++ 是有支援啊 07/13 10:23
56F:推 flarehunter: 如果可以支援多型來達到依賴反轉,我就覺得算是OOP吧 07/13 10:52
57F:→ loveme00835: 用 OOP/SOLID 來考慮學 C++ 是否搞錯什麼 xD C++ 的 07/13 10:59
58F:→ loveme00835: 特色又不是 OO 07/13 10:59
59F:推 flarehunter: 我也是覺得語言不重要 重要的是那些概念 07/13 11:03
60F:→ Killercat: 事實上C++的OO還滿薄弱的 不過因為有template,所以 07/13 11:04
61F:→ Killercat: metaprogramming下的彈性簡直是作弊 07/13 11:04
62F:→ Killercat: 沒interface 沒object 說真的要當真正的OO還有段路XD 07/13 11:04
63F:→ Killercat: 拿來學一些當infrastructure library的東西倒是讚 07/13 11:05
64F:→ Killercat: 看看那個Loki::SingletonHolder寫得多彈性 XD 07/13 11:06
65F:→ Killercat: 重點是還真的易用 超易用 07/13 11:06
66F:→ Killercat: 目前還沒看過哪種別的語言(可能除了C的macro外)可以把 07/13 11:07
67F:→ Killercat: infrastructure library做得那麼有彈性且好用的 07/13 11:07
68F:推 CoNsTaR: @ray2501 有 lambda calculus 是個什麼說法 orz 07/13 11:07
69F:→ CoNsTaR: 可以函數輸入輸出又是什麼說法 orz 07/13 11:07
70F:→ CoNsTaR: 你的定義怎麼好像跟別人都不太一樣 XD 07/13 11:08
71F:推 CoNsTaR: @Killercat Agda 呢?連 reflection 都是用自己寫的 07/13 11:13
72F:→ Killercat: 好吧那應該是我看過的語言不夠多 :P 07/13 11:16
73F:→ Killercat: 不過我想主流語言裡面應該C++這點是近乎無敵了 07/13 11:16
74F:推 flarehunter: @CoNsTaR 你認為的FP應該有哪些概念啊? 07/13 11:20
75F:推 CoNsTaR: 如果要“成為”一個 FP 語言,最重要的前提是必須是 decl 07/13 11:36
76F:→ CoNsTaR: arative 吧,或至少在某些範圍內是 declarative,或者就 07/13 11:36
77F:→ CoNsTaR: 算做不到也要有一些 compromise 的產物,例如 rust 的 mu 07/13 11:36
78F:→ CoNsTaR: table 之類的 07/13 11:36
79F:→ CoNsTaR: 如果只是想要“支援 FP”最重要的就是要有 GADT 去配合某 07/13 11:36
80F:→ CoNsTaR: 種 exhaustive check(例如 pattern matching in terms o 07/13 11:37
81F:→ CoNsTaR: f pattern calculus,或是 Scott、Church encoding in te 07/13 11:37
82F:→ CoNsTaR: rms of lambda calculus),和 first class function 07/13 11:37
83F:推 CoNsTaR: *某種類似 GADT 去配合某種 exhaustive check 07/13 11:39
84F:推 ray2501: 第一步是 First-class and higher-order functions,可以 07/13 11:53
85F:→ ray2501: 接受函式當作輸入輸出,這 c++ 早就有了,你的定義才奇怪 07/13 11:54
86F:推 CoNsTaR: 我不是故意要在 c/cpp 版討論 fp(你可以去 PLT 版開一篇 07/13 12:04
87F:→ CoNsTaR: ,我或其他大大可以在那裡回你),只是如果真的是 first 07/13 12:04
88F:→ CoNsTaR: class,有可能會不是 higher order 嗎?為什麼要分成兩 07/13 12:04
89F:→ CoNsTaR: 個條件? 07/13 12:04
90F:→ CoNsTaR: 然後既然是 first class,為什麼 c++ 不能有 flip 和 par 07/13 12:04
91F:→ CoNsTaR: tial application?(我知道有 bind) 07/13 12:04
92F:推 CoNsTaR: 解釋一下,我說的「類似 GADT 去配合某種 exhaustive che 07/13 12:15
93F:→ CoNsTaR: ck」是打造 first class 函數的其中一種方法,只有用這 07/13 12:15
94F:→ CoNsTaR: 種方法產生函數的語言才能算是某種 FP 07/13 12:15
95F:推 flarehunter: 我理解的範式是指如何思考程式架構的方法,像是結構化 07/13 12:36
96F:→ flarehunter: 能夠divide and conquer, OOP可以用多型控制依賴方向 07/13 12:38
97F:推 flarehunter: FP我就不熟,只有理解到可以用小函式組合出大函式和 07/13 12:42
98F:→ flarehunter: 分離有side effect的部份讓平行化順利一點 07/13 12:43
99F:→ flarehunter: 感覺你提的都有點像是語言特性,不是FP範式必要功能? 07/13 12:44
100F:→ flarehunter: pattern matching和if else在程式架構上有什麼差異? 07/13 12:47
101F:推 CoNsTaR: 我也是啊(程式架構的方法),所以我開頭就說了必須是 de 07/13 12:51
102F:→ CoNsTaR: clarative 07/13 12:51
103F:→ CoNsTaR: 後來提的 GADT,pattern matching,和 first class funct 07/13 12:51
104F:→ CoNsTaR: ion 都是讓你能夠用「fp 的方法」建構程式的要素,缺一 07/13 12:51
105F:→ CoNsTaR: 個就無法獨立運作 07/13 12:51
106F:→ CoNsTaR: 所以我才會說 c++ 不支援 fp(不能用 fp 的方法建構程式 07/13 12:51
107F:→ CoNsTaR: ),因為三個裡面根本沒有一個支援,最接近 fp 的也只有 07/13 12:52
108F:→ CoNsTaR: higher order function 而已 07/13 12:52
109F:推 CoNsTaR: if else 是對 boolean 做 induction(elimination),pat 07/13 12:57
110F:→ CoNsTaR: tern matching 是對任何 type 的 induction,意思是只要 07/13 12:57
111F:→ CoNsTaR: 是 type,就能夠被使用 07/13 12:57
112F:推 CoNsTaR: 因為 c++ 的 bool 來歷不明(你找不到 bool 這個 type 07/13 13:12
113F:→ CoNsTaR: 的 definition),if else 也來歷不明,你找不到 if els 07/13 13:12
114F:→ CoNsTaR: e 的 definition(形式化 if else 的方法),但在 fp,這 07/13 13:12
115F:→ CoNsTaR: 些都是可以用程式寫出來的(不是說寫一個編譯器,而是你 07/13 13:12
116F:→ CoNsTaR: 要用 bool 你可以自己寫一個 bool,你要 pattern matchin 07/13 13:12
117F:→ CoNsTaR: g,你可以自己用 Scott encoding),這個算是 if else 和 07/13 13:12
118F:→ CoNsTaR: pattern matching 最大的差別 07/13 13:12
119F:推 CoNsTaR: *應該要說「寫出來的 bool 直接可以 pattern matching」 07/13 13:32
120F:→ CoNsTaR: (不需要編譯器,你在紙筆上也可以做),這樣講比較好傳 07/13 13:32
121F:→ CoNsTaR: 達 GADT 和 pattern matching 之間的關係 07/13 13:32
122F:推 MartinJ40: https://www.stroustrup.com/OpenPatternMatching.pdf 07/13 15:13
123F:→ MartinJ40: functional programming跟CFG是等價 07/13 15:13
124F:→ MartinJ40: C++ template跟turning是等價 07/13 15:14
125F:→ MartinJ40: 怎麼可能Type-3做不出來Type-2文法..... 07/13 15:16
126F:推 CoNsTaR: ...... 我不知道要講什麼了 orz 07/13 16:35
127F:→ CoNsTaR: 你真的知道你講的那些名詞是什麼意思嗎? 07/13 16:35
128F:→ CoNsTaR: 關於那個 library,等到它不用 macro 的時候再來嘴吧 07/13 16:35
129F:推 MartinJ40: 我的意思是 你提的那些特性 是能先用template刻出來 07/13 17:01
130F:→ MartinJ40: 只基於這些刻出來的物件去寫程式的話 不就相當於 07/13 17:01
131F:→ MartinJ40: FP 07/13 17:01
132F:→ MartinJ40: 用刻出來的這些元件再去作 BOOL IF ELSE 07/13 17:02
133F:→ MartinJ40: 而非使用原本c++的關鍵字 07/13 17:02
134F:推 CoNsTaR: 問題是 TMP 做不到這樣啊,TMP 自己都做不到 FP 很多事 07/13 17:12
135F:→ CoNsTaR: 情了,你怎麼會期待用它寫出來的元件可以 magically 把你 07/13 17:12
136F:→ CoNsTaR: 的程式“變成” FP 07/13 17:12
137F:推 flarehunter: 雖然已經偏離原來問題很遠了,不過難得在C++版有FP 07/13 17:55
138F:→ flarehunter: 討論串XD 我想繼續問以FP的角度會怎麼架構一個系統? 07/13 17:55
139F:→ flarehunter: GADT和pattern matching為什麼會是必要功能? Lisp 07/13 17:55
140F:→ flarehunter: 是不是沒有這些功能啊? 07/13 17:55
141F:→ loveme00835: 以為走錯板, 原來是在討論 Ancient C++ 07/13 18:37
142F:推 CoNsTaR: 如果能接受英文的話可以看這個 07/13 18:39
143F:→ CoNsTaR: https://youtu.be/PLFl95c-IiU 07/13 18:39
144F:→ CoNsTaR: 它標題雖然寫 DDD 可是其實是在講 FP 07/13 18:39
145F:→ CoNsTaR: lisp 我不會,但不一定非得 GADT,GADT 和 pattern match 07/13 18:39
146F:→ CoNsTaR: ing 也都只是語法糖而已,別的類似的東西也可以 07/13 18:39
147F:→ CoNsTaR: 如果你接受 untyped 的程式,你也可以完全不要任何類似 G 07/13 18:39
148F:→ CoNsTaR: ADT 或 pattern matching 的東西,就完全的 function 也 07/13 18:39
149F:→ CoNsTaR: 是可以,但我認為大部分人說的 FP 不是那樣的東西 07/13 18:39
150F:推 CoNsTaR: 那要請教一下 L 大 How modern C++ looks like 07/13 18:48
151F:→ loveme00835: 要嘴 @MartinJ40 的連結跟 macro 也先看一下 [P1371] 07/13 19:05
152F:→ loveme00835: 跟 [P1221] 的狀態, C++ 也是 community driven lang 07/13 19:07
153F:→ loveme00835: 還要經過 ISO commitee review, 除了相容性要顧最重 07/13 19:09
154F:→ loveme00835: 要的是 "標準化" 這件事. 你喜歡其他語言是你的自由, 07/13 19:10
155F:→ loveme00835: 但是在說 "某語言都沒有什麼特性" 前先搞清楚自己是 07/13 19:11
156F:→ loveme00835: 不是真的熟悉它, 然後如果覺得什麼特性很缺, 你可以 07/13 19:12
157F:→ loveme00835: 發提案, 這就是 how modern C++ looks like 07/13 19:12
158F:→ loveme00835: 看討論還以為是考古學有什麼重要發現 07/13 19:13
159F:→ loveme00835: 簡單的說, 不需要標準化的語言你想要什麼特性都很容 07/13 19:15
160F:→ loveme00835: 易 07/13 19:15
161F:推 CoNsTaR: 整理了一下: 07/13 19:42
162F:→ CoNsTaR: 1. C++ 是地表最強語言,因為不論什麼功能沒有都只是目前 07/13 19:42
163F:→ CoNsTaR: 沒有,什麼功能不好都只是目前不好,以後還是都會有,都 07/13 19:42
164F:→ CoNsTaR: 會變好的 07/13 19:42
165F:→ CoNsTaR: 2. 要是真的不能有,也是因為相容性和標準化,才不是因 07/13 19:42
166F:→ CoNsTaR: 為 C++ 不支援 07/13 19:42
167F:→ CoNsTaR: 我是不知道把語言的“狀況”寫在紙上叫它“標準”有什麼 07/13 19:42
168F:→ CoNsTaR: 神奇的效果,但就我所知,所有的社群語言誰不是經過很多 07/13 19:42
169F:→ CoNsTaR: 年的討論才會讓實作成為語言的一部分,語言的發展哪個沒 07/13 19:43
170F:→ CoNsTaR: 有目標和提案,哪個不會考慮相容性 07/13 19:43
171F:→ CoNsTaR: 如果有一個人跑來跟你說 Haskell 有 dependent types,沒 07/13 19:43
172F:→ CoNsTaR: 有 dependent types 的都是 ancient Haskell 你覺得如何 07/13 19:43
173F:→ CoNsTaR: ? 07/13 19:43
174F:推 flarehunter: 影片講得滿簡單清楚,有稍微理解FP的實際用處,謝謝 07/13 19:54
175F:→ flarehunter: 影片裡的例子用C++的struct+enum也可以兜出來吧 07/13 19:55
176F:推 CoNsTaR: enum 的確在有些狀況下可以做 sum type 07/13 20:01
177F:→ CoNsTaR: 可以用 struct(product type,and)和 inheritance(sum 07/13 20:01
178F:→ CoNsTaR: type,or)兜出來 07/13 20:01
179F:→ CoNsTaR: 雖然這兩個東西本意應該也不是給你這樣用的就是了 XD 07/13 20:01
180F:推 CoNsTaR: 然後那個影片只是在講用 FP 做 typing 的方法,還是有很 07/13 20:04
181F:→ CoNsTaR: 多其他東西是沒有講到的,所以真的用 FPL 寫程式的時候可 07/13 20:04
182F:→ CoNsTaR: 能還是會有點陌生 07/13 20:04
183F:→ loveme00835: 你已經幫我回答大部分的問題了. 語言標準化尤其是 IS 07/13 20:06
184F:→ loveme00835: O 標準, 最終都是為了服務業界. 所以有關 functional 07/13 20:06
185F:→ loveme00835: language 的提案被 reject 是常有的事情, 能用舊特 07/13 20:06
186F:→ loveme00835: 性達成的功能, 除非新特性可以做得更好更有 "效率", 07/13 20:07
187F:→ loveme00835: 否則它不會變成語言的一部分. 標準化圍繞在軟體開發 07/13 20:07
188F:→ loveme00835: 議題上; 而不是發掘語言的可能性. 所以前面才會說道 07/13 20:07
189F:→ loveme00835: 先熟悉這個語言再來評論比較好 07/13 20:07
190F:→ loveme00835: 這就好像討論為什麼魚沒有腳, 所以和雞比牠絕對跑不 07/13 20:09
191F:→ loveme00835: 快一樣. 07/13 20:09
192F:→ loveme00835: 你來魚板不去了解為什麼魚不長腳, 然後推廣雞有腳多 07/13 20:11
193F:→ loveme00835: 棒不是很奇怪嗎? 而且我從來沒有說過魚是最棒的生物, 07/13 20:11
194F:→ loveme00835: 你的自然語言可能也有待加強. 07/13 20:11
195F:推 CoNsTaR: 我會在這邊回是因為有人宣揚 c++ 支援 FP,你可能漏看前 07/13 20:14
196F:→ CoNsTaR: 因後果了 07/13 20:14
197F:→ CoNsTaR: 我不會沒事跑去跟不認識的人說某個語言沒有某個特性/功 07/13 20:14
198F:→ CoNsTaR: 能,目前沒那麼無聊,謝謝 07/13 20:14
199F:推 CoNsTaR: 而且 fyi,就算你講的那兩個提案都通過了,c++ 仍然離支 07/13 20:16
200F:→ CoNsTaR: 援 FP 非常遙遠 07/13 20:16
201F:→ CoNsTaR: 至少我想不出有什麼提案的組合能夠讓 c++ 支援 FP 又向 07/13 20:19
202F:→ CoNsTaR: 後相容啦,可能我廢 07/13 20:19
203F:推 yoco: 不該 08/15 23:38







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP