【為什麼我們的公司名稱裡有「顧問」兩個字?】
我們滿幸運的,讓一些人認識了只要有人社群顧問的「創意」,但比較少人知道 — 我們其實還是一間「顧問」公司。今天來聊聊一間廣告公司,到底一個可以「顧問」什麼東東?
顧問的基礎是數據,人們在社群上展現的行為、討論的話題、留下的任何足跡 ... 我每次研究都會呼呼呼好興奮 ❤️ 我們是少數將社群數據監測系統導入「創意發想階段」的廣告公司。與堅實的社群數據夥伴 QSearch(Instant Search) 合作,讓我們能即時瞭解在 Facebook、Instagram、YouTube、Dcard、PTT ... 等各大社群平台上,特定關鍵字在社群上的討論熱度,進一步根據社群上大家在意的話題、熱門事件、甚至網友們發生的真實故事 ... 來打造品牌社群內容。
因此在 4/9 連載十一年的人氣漫畫《進擊的巨人》完結日時,我們幫 IKEA 找出網友如何在社群上討論這部漫畫的經典台詞,並以此為基礎做出 3 萬多人按讚的精采貼文;在 5/13 台灣大停電當天下午,我們從發想創意、客戶溝通、製作完成,僅用了短短 88 分鐘,幫 IKEA 打造了自主觸及突破 300 萬的爆紅內容,我們創作的這些品牌內容也都成為當時媒體爭相報導的話題。
我們也協助客戶進行社群數據健檢,透過大量累積的內容進行關鍵字頻次分析、把內容分類,瞭解哪些內容方向能吸引核心族群、哪些內容能吸引潛在新族群;瞭解跟競品品牌的社群聲量差異、甚至瞭解在整個社群世界中,大家視如何討論你品牌 ... 這些都是我們在鑽研的。
在社群時代對數據的精準與即時掌握,成為了我們跟傳統廣告公司巨大的差別,所以說 — 如果有還是學生的看到這篇,【臺大行銷顧問社 NTU S&C Marketing Club】在招募新社員囉!(啊沒錯,這其實是一篇冗長的業配文)大二以上學生,不限學校、不限系所!有興趣的話,報名連結我放留言噢。
同時也有6部Youtube影片,追蹤數超過1,920的網紅艾蛙媽 VS. 達樂哥Aiwa Hu,也在其Youtube影片中提到,【艾蛙實測】小米 博的真空保鮮盒 水果盒 奶粉盒 儲物罐 保鮮罐 乾糧罐 收納罐 收納盒 分裝盒 密封罐 密封盒 便當盒 - #博的真空保鮮盒 #小米真空保鮮盒 #便當盒 - 艾蛙團購網】新竹直送社區!竹北現貨可面交。小米 博的真空保鮮盒 水果盒 奶粉盒 儲物罐 保鮮罐 乾糧罐 收納罐 收納盒 分裝...
「c++ c++ 差異 ptt」的推薦目錄:
- 關於c++ c++ 差異 ptt 在 傑哥 Facebook 的精選貼文
- 關於c++ c++ 差異 ptt 在 布孟璇(小布) Facebook 的最佳貼文
- 關於c++ c++ 差異 ptt 在 太咪瘋韓國 Facebook 的最佳解答
- 關於c++ c++ 差異 ptt 在 艾蛙媽 VS. 達樂哥Aiwa Hu Youtube 的最佳貼文
- 關於c++ c++ 差異 ptt 在 OP凱文 Youtube 的精選貼文
- 關於c++ c++ 差異 ptt 在 Tech Dog Youtube 的最讚貼文
- 關於c++ c++ 差異 ptt 在 [心得] C++ 與C 的特性及區別- 精華區C_and_CPP 的評價
- 關於c++ c++ 差異 ptt 在 Re: [問卦] 會寫C++的人一定會寫C語言嗎? - 看板Gossiping 的評價
- 關於c++ c++ 差異 ptt 在 Re: [問卦] 會寫C++的人一定會寫C語言嗎? - 看板Gossiping 的評價
- 關於c++ c++ 差異 ptt 在 ptt神人:如果你是好好讀書從基礎學起,我不清楚陣列跟指標 ... 的評價
- 關於c++ c++ 差異 ptt 在 [問題] 初學者入門C語言學習順序 - PTT 熱門文章Hito 的評價
- 關於c++ c++ 差異 ptt 在 dcard.tw與ptt.cc 流量比較 - Similarweb 的評價
- 關於c++ c++ 差異 ptt 在 dcard.tw與ptt.cc 流量比較 - Similarweb 的評價
- 關於c++ c++ 差異 ptt 在 全教總的貼文 的評價
- 關於c++ c++ 差異 ptt 在 PTT不能登入怎麼辦?連絡信箱驗證快速完成,步驟懶人包一次看 的評價
- 關於c++ c++ 差異 ptt 在 如何開始使用ptt? - iT 邦幫忙 的評價
- 關於c++ c++ 差異 ptt 在 [問卦] 自學C跟C++推薦哪個教材- 看板Gossiping - PTT網頁版 的評價
- 關於c++ c++ 差異 ptt 在 Re: [問卦] C++20 也太機車了吧? - PTT評價 的評價
- 關於c++ c++ 差異 ptt 在 【2023年】9款CC霜推薦挑選排名,PTT、Dcard熱門人氣品牌 ... 的評價
- 關於c++ c++ 差異 ptt 在 【2023年】9款CC霜推薦挑選排名,PTT、Dcard熱門人氣品牌 ... 的評價
- 關於c++ c++ 差異 ptt 在 在App Store 上的「Miu Ptt」 的評價
- 關於c++ c++ 差異 ptt 在 魔滴cc數醫生教你這樣選,統整ptt常見問題讓你知 的評價
- 關於c++ c++ 差異 ptt 在 PTT 過載連不上?各種軟體快速登入技巧整理(SSH加密連線) 的評價
- 關於c++ c++ 差異 ptt 在 lightroom classic cc差異-在PTT/IG/網紅社群上服務品牌流行穿搭 的評價
- 關於c++ c++ 差異 ptt 在 Mix_Match - PTT網頁版: [男問] 幾款白素T推薦比較 的評價
- 關於c++ c++ 差異 ptt 在 PTT、Facebook與大學校園資訊的流通 - 想想論壇 的評價
- 關於c++ c++ 差異 ptt 在 PttChrome+term.ptt.cc Add-on - 版本歷史 - Greasy Fork 的評價
- 關於c++ c++ 差異 ptt 在 玻尿酸價格ptt網友熱議:玻尿酸1CC多少錢合理? - 采風醫美 的評價
- 關於c++ c++ 差異 ptt 在 [討論] 程式語言根本就沒什麼好學的- soft_job 的評價
- 關於c++ c++ 差異 ptt 在 PTT註冊詳解:手機門號認證、非台大也可以 - T客邦 的評價
- 關於c++ c++ 差異 ptt 在 [問題] C++與JAVA差異- C_and_CPP板- PTT 數位生活 的評價
- 關於c++ c++ 差異 ptt 在 Soft_Job - [討論] 沒有基礎,該先學C還是Python 的評價
- 關於c++ c++ 差異 ptt 在 Re: 別再比較ptt跟dcard - 心情板 的評價
- 關於c++ c++ 差異 ptt 在 Re: 別再比較ptt跟dcard - 心情板 的評價
- 關於c++ c++ 差異 ptt 在 PTT2 | PTT鄉民百科 - Fandom 的評價
- 關於c++ c++ 差異 ptt 在 2023【漱口水推薦】漱口水多久用一次?10大漱口水ptt常見 ... 的評價
- 關於c++ c++ 差異 ptt 在 驅蚊神器推薦不踩雷!比較ptt最夯6種防蚊驅蚊產品:超聲波驅 ... 的評價
- 關於c++ c++ 差異 ptt 在 [問題] cc怎麼做到油耗很好- 看板car - Mo PTT 鄉公所 的評價
- 關於c++ c++ 差異 ptt 在 [免安裝!] 一個步驟讓你用瀏覽器輕鬆連上PTT! - impochun blog 的評價
- 關於c++ c++ 差異 ptt 在 [討論] 請問一下cross跟RAV4選哪台PTT推薦- car 的評價
- 關於c++ c++ 差異 ptt 在 急用現金怎麼辦?ptt推薦全台4個小額借錢快速撥款管道 - 方格子 的評價
- 關於c++ c++ 差異 ptt 在 PttChrome 免裝軟體,直接在Google Chrome 瀏覽器上批踢踢 的評價
- 關於c++ c++ 差異 ptt 在 批踢踢兔 的評價
- 關於c++ c++ 差異 ptt 在 [請益] 資料結構需要先會C語言才能學嗎? - Soft_Job - MYPTT 的評價
- 關於c++ c++ 差異 ptt 在 [問題] 要選cross還是sport - car - PTT網頁版 的評價
- 關於c++ c++ 差異 ptt 在 全家地瓜ptt - cadnosa.online 的評價
- 關於c++ c++ 差異 ptt 在 [互動] 徵人帶到50級世界四- 暗黑破壞神- D3,D2,D1 | PTT遊戲區 的評價
- 關於c++ c++ 差異 ptt 在 [討論] RAV4空間真的有比Corolla Cross大很多嗎? - car 的評價
- 關於c++ c++ 差異 ptt 在 合利他命Ptt 的評價
- 關於c++ c++ 差異 ptt 在 [資訊][購機] S23 128GB vs S23 256GB vs S23+ - PTT鄉民日記 的評價
- 關於c++ c++ 差異 ptt 在 麗寶Outlet Ptt - KBMW 的評價
- 關於c++ c++ 差異 ptt 在 芝麻明Ex Ptt 的評價
- 關於c++ c++ 差異 ptt 在 Selected Water Resources Abstracts - 第 27 頁 - Google 圖書結果 的評價
- 關於c++ c++ 差異 ptt 在 Lenition and Contrast: The Functional Consequences of ... 的評價
c++ c++ 差異 ptt 在 布孟璇(小布) Facebook 的最佳貼文
阿堡的背巾有兩條
一條是阿堡出生前團購新生兒時期使用的3P3嬰兒背巾
另一條就是「恩典牌」收到的Pognae腰凳背巾
(在此非常感謝朋友割愛🙇🏻♀️🙇🏻♀️)
從阿堡可以坐穩開始
除了確定要讓阿堡背著睡之外幾乎都是用腰凳背巾
因為阿堡大了之後帶出門
時常都是面向外背以滿足阿堡的好奇心
可能是心理因素吧
覺得面向外時寶寶有坐在腰凳上比較舒適😂😂
另外還有一點是腰凳可以單獨使用
可以讓老母手不用一直抱著寶寶的重量
但也不會感覺上半身被背巾束縛
啊這一條背巾其實是之前跟老北逛婦幼展時
老北被燒到😂😂
就覺得那個BOA旋鈕很酷
但基於家裡已經有一條腰凳背巾了就一直猶豫
後來老北覺得Hugpapa的外型真的太好看
所以我們還是決定入手了🙈🙈
之前孕期在做背巾功課時
有記得最重要的就是要符合「C型背、M型腿」
一直以為腰凳背巾比較難達到
但因為Hugpapa有兩段式腿寬調整
寶寶面向內背時臀部兩側還有包覆
而面向外時可以往內折起縮短距離
除了不會卡大腿肉肉外也能維持M型骨盆
(這款背巾有被國際骨盆協會認證為骨盆安全產品)
我覺得兩款腰凳背巾使用起來功能性其實都差不多
不過前面有提到老北覺得很酷的BOA旋鈕
(Puma之前有出過一款球鞋
就是用這個旋鈕快速綁拆鞋帶的)
真的是便利很多!
老北有時想主動背阿堡時
老母都會拒絕因為懶得一直調整背巾肩帶的長度
但是因為這個旋鈕我們找到平衡了
旋鈕放鬆時就是老北可背的長度
老母要背時可以直接調整旋鈕收緊
所以阿堡給老北背的機率有變高🤣🤣
其實大人跟寶寶有時穿的衣服厚度也會不一樣
背巾就需要調整了
Hugpapa結合了這項微調旋鈕技術
就可以更方便快速的調整
最後!我自己另外感覺有差異的是腰凳
隨著阿堡越來越重
有發現單獨使用腰凳時阿堡會開始一直往後傾斜
雖然Pognae也有設計止滑坐墊
但可能太重傾斜角度太大
所以阿堡屁屁還是時常會不經意差點滑出腰凳
不過Hugpapa針對腰凳的角度也有設計
所以阿堡坐的還挺穩的
老母自然又可以輕鬆許多👍🏻👍🏻
Hugpapa
#hugpapa #嬰兒背巾 #爸爸背巾 #腰凳揹巾 #旋鈕背巾 #韓國背巾 #新生兒背巾推薦 #腰凳背巾比較2020 #嬰兒背巾挑選 #透氣背巾 #嬰兒背巾比較2020 #背巾推薦ptt #三個月嬰兒背巾 #嬰兒背巾用法 #嬰兒背帶腰凳 #Pognae背巾 #ergobaby揹巾 #beco背巾 #wmm揹巾 #lillebaby背巾 #新生兒外出 #新生兒脊椎背巾 #新生兒適用背巾 #腰凳背巾推薦 #環狀背巾 #揹帶包覆式揹巾 #環型揹巾 #嬰兒髖關節背巾
c++ c++ 差異 ptt 在 太咪瘋韓國 Facebook 的最佳解答
我在韓國從沒買過內衣
到現在結婚八年了一次也沒有🤣
剛搬到韓國後當然偶爾逛街經過也會去看看
但在韓國逛一些百貨公司內衣專櫃以後發現
韓國的罩杯都滿...不大的...
覺得大多都是ABC三種尺寸為主
很多牌子最多做到D就沒再做了
根本就沒辦法穿呀
問過也是比較豐滿的載嫂
她說要去某些特定品牌的店才會有D以上的
之前跟韓國朋友去完汗蒸幕後聊到胸部的話題
她說她想要去隆乳,從A隆到B~
我說這樣為什麼要隆?
結果她碎唸了我好久,說妳們這種人不能體會A跟B的差異啦!!!
本來她想隆到C,但醫生說她沒有辦法做那麼大
所以最後就是往B邁進而已
總之後來我都還是回台灣時買
一兩年買一次,畢竟內衣也是會洗鬆洗變形
這樣的內衣穿了胸型也會變
還是定期要替換的
玳蕾綺是台灣製造的內衣,很注重美胸與舒適的平衡
台灣設計更適合亞洲女性的胸型~
他們以前的品牌名稱在PTT也很有名,從以前到現在已累積30年經驗
以前逛版的時候就會常常看到,是許多女生信任的品牌唷
https://delich.1shop.tw/4g2qz1
每個人胸型都不一樣,所以要選擇適合自己的內衣
像我屬於上胸也很肉的
缺點是整個人從正面或側面看都會很腫哈哈哈
還有不能穿胸前有圖案的衣服
以前買過米老鼠的T結果米老鼠整個變形,看起來就像假貨...
我平常選內衣注意的點就是肩帶要夠寬,側邊也要夠高
罩杯的包覆性要夠好
這樣才能穿得舒服不會亂跑
來介紹我推薦的兩個款式
💗維納司完美包覆舒膚胸罩
大家夏天常常會覺得穿內衣不舒服吧?
這一款的罩杯內裡用的是WinCool® 專利涼感布料
還有透氣呼吸孔,穿起來更涼爽通風
而且使用的是棉的材質,汗水不會排不出去呀
背後的內裡則是用LYCRA萊卡纖維
服貼有彈性卻又不會悶熱~~
用「腋下無痕折雙」車法,讓你更舒適好活動~
背後也不會有內衣痕跡
💗女王峰超薄2mm安穩包覆胸罩
這一款是全罩式的設計,可以完整的包住胸部讓你活動時不會跟著亂跑
側邊夠寬非常穩定,斜邊設計可以把副乳塞進去(?)
有的內衣穿起來會覺得肩痛或是背重
但是這個肩帶是加寬的1.9公分,不太會滑落
穿起來的感覺就是很安穩也不會不舒服
因為我是上圍比較豐滿的類型
所以我在選內衣的時候會注重包覆能力
看側邊跟肩帶是否夠寬夠穩定,還會看穿起來的透氣度
集中或托高之類的就不是我的需求了
(覺得集中真的很熱啊...)
推薦這兩款內衣給跟我有同樣需求的女生們^^
內衣也有配套的內褲
提醒大家一下,但內褲這種貼身衣物購買了無法退換唷!
⭐️團購連結 https://delich.1shop.tw/4g2qz1
⭐️團購期限 7/20-7/27
c++ c++ 差異 ptt 在 艾蛙媽 VS. 達樂哥Aiwa Hu Youtube 的最佳貼文
【艾蛙實測】小米 博的真空保鮮盒 水果盒 奶粉盒 儲物罐 保鮮罐 乾糧罐 收納罐 收納盒 分裝盒 密封罐 密封盒 便當盒
-
#博的真空保鮮盒 #小米真空保鮮盒 #便當盒
-
艾蛙團購網】新竹直送社區!竹北現貨可面交。小米 博的真空保鮮盒 水果盒 奶粉盒 儲物罐 保鮮罐 乾糧罐 收納罐 收納盒 分裝盒 密封罐 密封盒 便當盒
-
A. 小米 博的真空保鮮盒670ml,原價250元 / 團購價199元 (附蓋子、抽氣筒)
B. 小米 博的真空保鮮盒《超值組:670+1360ml》,原價630元 / 團購價510元 (附蓋子、抽氣筒)
C. 小米 博的真空保鮮盒《超值組:1350+2570ml》,原價850元 / 團購價660元 (附蓋子、抽氣筒)
-
以上三款有現貨!其它小米有品(小家電)或真空保鮮盒規格,可以私訊艾蛙訂貨喔!
※新竹、竹北、新豐、湖口可直送社群,不限金額。
-
《小米有品》博的真空保鮮盒
☛此款與其他賣場便宜貨的差異:
此款:可抽真空設計,食物味道口感不變,採用PCTG 嬰兒用品材質,不含雙酚A,可紀錄存放日期,可疊放設計
牌:無法真空儲存,食物容易氧化變質,採用一般塑料,易釋放有毒物質,不能紀錄存放日期,不能疊放
【產品特色】
★比普通儲存方式保鮮延時3~5倍
★時間在變 味道不變 新鮮如同現做
★真空物理鎖鮮 抗氧化 防潮防霉
★附贈真空抽氣筒 簡單操作 持久鮮美
★真空密封儲存 滴水不漏
★不易受潮及擠壓變形 口感如初 香脆依舊
★1.2米跌落實測 抗衝擊不易碎
★重量更輕 減輕背包不必要的負擔
★PCTG 嬰兒用品材質 不含雙酚A
★耐熱範圍 -20~99度
★可拆卸矽膠密封圈
★底部可疊放設計 更穩 更省空間
★節省料理準備時間,泡菜腌肉更快入味同時保鮮
★可儲存:食物,水果,沙拉,乾糧,零食,奶粉,湯,藥品,咖啡豆,寵物食品
【產品規格】
◎名稱:博的真空保鮮盒
◎材質:PCTG (嬰兒用品材質,不含雙酚A)
◎耐溫:-20~99度
◎顏色:白色
◎內容:真空保鮮盒(附蓋子)、抽氣筒
◎容量 / 尺寸 / 重量:
670ml / 14x14x8.2cm / 232g
1360ml / 16.8x16.8x10.4cm / 351g
1000ml / 20.8x12.6x8cm / 327g
2000ml / 25.5x15.5x10.5cm / 517g
1350ml / 14x14x13.5cm / 286g
2570ml / 16.8x16.8x17cm / 423g
【注意事項】
1.不適用於洗碗機、烤箱、微波爐
2.抽真空時氣囊凹陷即可停止抽氣
3.放入高溫食材後,不可立即抽氣
4.冷藏冷凍後,需恢復常溫再打開
5.真空狀態下請勿強行開蓋
6.請勿使用鋼絲球清洗
-
#艾蛙團購網
#週週開團
#新鮮直送社區
#竹科愛團購
#大新竹社區免運費
=======================
《新竹美食旅遊+延伸閱讀》
自費體驗【2021新車開箱】Kymco FAMOUS 新名流 125 ABS七期
https://youtu.be/JegWosrAeh0...
【5分鐘出好菜】台式炸年糕,作法超簡單!
https://youtu.be/EZDy4RmUDYo...
【2021福袋懶人包】寶雅福袋!登錄發票再抽奧迪百萬名車
https://youtu.be/0WjfOxnrC7g...
茂昌草本茶:紅豆花芝圓,香Q可口
https://youtu.be/qwDSgudhIyI...
Bingo 賓果廚房,濃湯,飲品,冰淇淋,甜湯,餅乾無限暢飲
https://youtu.be/uHblB22h50k...
【2020新竹寶山鄉】秘境之旅!
https://youtu.be/TT1EHN2TNBo...
帝王食補,胡椒豬肚雞口味清爽
https://youtu.be/cZaUte_UO-U...
黑糖飄香遊新城,甘蔗職人體驗好好玩!
https://youtu.be/9tm9DKfNQ8Y...
日本進口鮪魚蔥花丼甘鮮滑腴,油嫩爽口!
https://youtu.be/E4YpsGWkwLQ...
肥滋滋鯛魚燒!一隻25元
https://youtu.be/dAMxqQi1tNk...
傳承三代的純樸家鄉味,雅珍號ㄍㄜㄍㄜ羹
https://youtu.be/vsTefYqVxYs...
北門炸粿,百年老店!
https://youtu.be/I2V2BBxxwEM...
涼冰菓店,五十年代古早冰棒!
https://youtu.be/El4Uj1poHXQ...
甘木赤水咖啡館,真正的手做蛋糕只有親嚐才知道
https://youtu.be/fy7bOEHrQGE...
無名雞蛋糕,一個六元
https://youtu.be/ZqbJgND-_Os...
到日式老屋「湖畔生活」的豊賀伴手,快樂吃梅花冰
https://youtu.be/pjKjesa6jPk...
美美早餐點心館,脆脆的香酥餅皮配上雙蛋
https://youtu.be/_7Uwd5lm_cg...
熊寶廚房健康滷味,家傳私房菜
https://youtu.be/gxl0nDYz4Sw...
竹北鄧記牛肉餡餅!爆漿牛肉餡餅
https://youtu.be/c30gi9EBQfM...
新竹旅遊Vlog X來新竹市採荔枝
https://youtu.be/jjSTs0jOlMg...
金陵包子,鮮肉包就是要配青辣椒
https://youtu.be/Ynv9rgh1J0A...
竹北音樂酒吧推薦!Soul bar DJ現場演奏
https://youtu.be/QKXPsolWYOw...
料多味美的禾日香魯肉飯專門店
https://youtu.be/_fgCv-EiKWY...
草本茶 竹北勝利店,開幕慶!
https://youtu.be/rLMBXPVwX4Y...
吳家紅茶冰-中正店,歡慶開幕
https://youtu.be/pCYk25OgpMI...
【新竹湖口老街美食推薦】小窩口窯烤Pizza
https://youtu.be/n0C_5Ff20Mc...
【新竹美食週記】湖口老街-邱媽媽客家美食
https://youtu.be/LEEHvLdXICw...
鄭家祖傳特製雞蛋糕!民國57年創立
https://youtu.be/L0Nre8kjbR0...
東門旺角!母親節大餐推薦
https://youtu.be/ufGGvDWSlq0...
【新竹假日花市】香Q可口的白玉米只要10元!
https://youtu.be/9NZ6y3H1bmk...
肆爺炒泡麵!三杯雞炒泡麵創新又美味!
https://youtu.be/xIYNnhQRs4M...
烤桶柑橘子!阿嬤的古老智慧
https://www.youtube.com/watch?v=_uK3J......
【竹北人的後花園】厚食聚落
https://youtu.be/Q_8qVxIX3Ag...
老漁港新海鮮美式餐廳,十全十美水桶海鮮
https://www.youtube.com/watch?v=yZdqH......
ㄤ咕麵,新竹關西人氣老店
https://www.youtube.com/watch?v=hzAFR......
燒番麥!一級棒碳烤玉米
https://www.youtube.com/watch?v=k1TKl......
太空總薯,現烤現做起司馬鈴薯香濃可口
https://www.youtube.com/watch?v=yVjTr......
米咕家的日式飯糰好吃又健康啊!
https://www.youtube.com/watch?v=VuSlG......
璽子牛肉麵,斤餅專賣店!斤餅很好吃阿!
https://www.youtube.com/watch?v=QjPwU......
竹蓮市場上好佳筒仔米糕,手工現切的肉燥飯
https://www.youtube.com/watch?v=vv4Wm......
======================================
❤ 艾蛙的社群 / 歡迎追蹤 ❤
instagram:https://www.instagram.com/aiwa_hu/...
Facebook:https://www.facebook.com/aiwa.vs.doll...
Youtube:https://www.youtube.com/c/AiwaHualwa1...
My Blog:http://alwa1919.pixnet.net/blog...
Website:https://www.aiwamkt.com/
c++ c++ 差異 ptt 在 OP凱文 Youtube 的精選貼文
0:00 今天我們要來介紹如何用選擇權的價差策略
來達到長期穩定獲利的方法
1:28 為什麼要做價差
a.已知最大風險,不會因為黑天鵝而被抬出場
期貨有可能會因為跳空,而出現無法預期的虧損
甚至不用談到跳空,有的時候你可能只是去忙一下
回來一看卻發現,怎麼豬羊變色了
但是垂直價差策略在你一開始建立好的時候
就已經知道最大虧損最大獲利是多少
以及損益兩平點在什麼位置
你可以抱著價差安心上班,安心睡覺
但如果是做期貨,你可能就三不五時會想要打開來看現在指數在哪
b.比起期貨,選擇權價差更能增加你的勝率
撇開技術分析不談(因為要談的話其實對期貨對選擇權都是同樣的影響)
期貨在進場之後,上漲下跌機率其實就50%50%
但是價差可以透過履約價的調整,來增加你的勝率
舉例來說,指數17000
期貨多單進場之後,就是以此為分水嶺,上漲賺錢下跌賠錢
但選擇權價差可以選
例如我作16800-16900看多價差,我會有一百點空間
結算在16900之上我都是獲利的
也就是說即使指數是下跌,但我最後也是獲利的
當然這個不能下跌太多啦,下跌太多跌破我看多價差做的履約價的話也還是會受傷的
當然,有一好沒兩好
選擇權也不是萬能的
如果我們要選擇更高勝率的履約價,最大獲利就會降低
反之,如果我們想要最大獲利高一些,勝率也就會低一些
(例如現在指數在17000,我想做多,
選擇16900這個履約價去做看多價差,我會有比較好的獲利,但勝率低
選擇16800這個履約價去做看多價差,獲利會比較差,但勝率高)
不過我這邊想要跟大家分享一個觀念
你先求穩,再求多(先求有,再求好)
意思是如果你要做的話我會建議你先做勝率高的組合
雖然他最大獲利低,但你積少成多慢慢累積資金
後面慢慢增加你做的組數,整體獲利也會往上升
c.保證金比期貨低,可有效運用你的資金
小台的保證金要四萬多
但我們選擇權做價差,一組的保證金最低只要2500
因為他的保證金計算方式是用兩個不同的履約價之間的差去乘以50元
也就是說如果我今天做一組16850跟16900的價差
那我的保證金就要(16900-16850)*50=2500
不過通常我建議去做100點價差的組合,所以保證金要5000元
再高一點的150點價差或200點價差也可以,但相對來說保證金就會變貴
如果需要的保證金太高,小資族要去操作的話會比較難受一點
這樣對你後續部位的調整可能會比較沒有彈性空間
7:32 如何做價差
a.他其實就像是替賣方部位加一個保險
舉例來說,今天我認為指數不會跌破16900
那我就會在履約價16900的位置賣出賣權(不認為會下跌)
但畢竟沒有人能夠準確預測未來
如果接下來跌破16900,我會有很大的風險
所以我在16900之下的履約價加買一個賣權
例如我在16800這個履約價買進賣權
那麼當指數下跌的時候
這個16800買進賣權的部位會獲利,也就會幫我cover我原本的虧損
以上的舉例把它們組合起來,就會變成是一個看多價差
b.看多價差與看空價差的組法
那其實你要組看多價差或看空價差呀,用買權或賣權都是可行的
重點在於你做的履約價
今天如果你想做看多價差,只要你買低履約價賣高履約價
就會成為看多價差
反之,如果你買高履約價賣低履約價,就會變成看空價差
不過今天介紹的這套方法,你做價差的話
我會建議用賣權去組看多價差
用買權去組看空價差
原因是流動性的問題,我們要挑選成交量大的履約價去做
不然理論上買權還是賣權組其實是沒有差異
詳細的細節可以參考我之前寫的關於價差的文章或影片
在我的頻道裡面有一個關於選擇權策略,一系列的影片
其中有詳細介紹關於履約價對於價差策略流動性問題的部分
在這邊我們就不多贅述了
前面有提到,我會建議各位先求穩再求多
所以我會建議這種價差組合你要去做賺賠比低於1的
因為通常賺賠比低,也意味著他的勝率是比較高的
賺賠比就是最大獲利除以最大損失
通常我習慣做賺賠比0.1~0.3的組合
因為通常這樣的勝率其實蠻高的
而獲利嘛,雖然你可能會覺得一組5000元保證金只能賺幾百~一千多,感覺很少
但實際上我們把它換算成年報酬,你會發現這種東西的報酬率是高於其他投資工具的
c.要記得做複式單,或之後合併(保證金優化)
各位要記得,如果你要做這樣的策略
一開始要以複式單的形式進場
因為如果你是一個買方部位跟一個賣方部位分開下單的話
那個賣方部位會需要很多很多保證金
如果這樣的話就沒有我們一開始說的"有效運用你的資金"這個優勢
那如果你本來就是先做一口買方之後因情勢變化才多做一口賣方的話
我會建議你去把這兩口單合併成一組價差
保證金會從好幾萬變成只要幾千元,這樣能夠節省你的保證金
13:51 具體行動
以上大概介紹了一些你在做價差時需要注意的一些基本事項
那如果對於價差或者選擇權其他相關知識不瞭解的部分
可以參考我的YouTube頻道或者Blog文章
裡面有很多關於選擇權的知識補充
接下來要介紹的這個策略
是你大部分的情況下都可以使用的策略
而且做法並不難,你只需要懂均線,會看支撐壓力表
這樣其實就足夠了
指數走勢長期是多頭,在月選做看多價差
如果你要我去猜下一秒指數是漲是跌,我會跟你說我不知道
我猜中的機率大概跟丟硬幣差不多
可是如果時間拉長一點,我就可以提升我猜對的機率
為甚麼?因為股市有所謂的趨勢
當股市趨勢是處於多頭趨勢的時候,要我猜明天是漲還是跌,我會選擇猜漲
也許不是100%穩贏,但至少也是贏多輸少
反之,在空頭趨勢,要我去猜明天漲跌,那我會猜明天下跌
打開K線圖來看你就會發現,在多頭趨勢看到的是紅多綠少,對吧
因此,我們要跟著趨勢去做,因為這樣的話勝率是站在我們這邊的
除此之外,我們也可以發現股市的走勢長期來說是多頭趨勢
那我們的基本目標就出來了:
長期來看我們要做多頭價差
至於選擇權要做周選還是月選,我們要用月選來做多頭價差(周選存續時間太短)
利用均線作為基準,支撐壓力表作為輔助
所以打開K線圖,你會發現我們簡單用大家常看的5、10、20MA就能辨別趨勢
當現在是多頭排列時,股市為呈現多頭走勢
反之,變成空頭排列時,往往都是處於空頭走勢
所以我們在多頭走勢的情況之下
把我們多頭價差的履約價,建立在20MA的位置
也就完成了我們該做的事情
這邊可以看一下這三張圖
上面這張是多頭排列的樣子
下面這張是空頭排列的樣子
有的時候也有可能會出現糾結的狀況
像中間下面這張
但有時候也會遇到一個問題
就是指數可能離20MA太遠,這時候做的價差可能最大獲利太低
低到如果算上手續費跟稅,你可能還倒賠
那我們可以做一些修正
去看看當時的支撐壓力表的支撐在哪裡
並且以此作為基準去抓我們可以做的位置
下一張投影片我們來看一下支撐壓力表
支撐壓力表是一項很好用的工具,它可以幫助不會畫線抓支撐壓力的新手
找到現在市場上大家認定的支撐與壓力
解讀支撐壓力表,我們要站在賣方的角度去思考
因為賣方留倉會有壓力,但買方沒有
所以你看買權與賣權變化量最大的地方,搭配賣方角度思考
舉例來說
你看到買權是17650變化量最大,賣權17000變化量最大
搭配賣方角度思考
賣出買權在17650,表示市場上的大眾認為不會漲破17650
賣出賣權在17000,表示市場上的大眾認為不會跌破17000
那這樣我們的月選看多價差,就可以建立一個16900-17000的看多價差
這裡補充一下,雖然我們是去做月選看多價差
但支撐壓力表我們還是觀察該周的支撐壓力表,而不是該月的支撐壓力表
除非到第三個星期三
(當然,偶爾會有特別的例子,例如之前日誌影片中有提到
當兩大法人都在做買進賣權的時候,支撐壓力表的支撐其實就沒有支撐效果了https://www.youtube.com/watch?v=R2bwQXrZOPI)
偶爾會有回檔,在周選做看空價差
但股市也是有時晴有時雨
總是會有回檔下跌的時候
這時我們可以利用短均線5MA來作為判斷基準
如果指數跌破五日均線
那我們就可以在這個時候做空頭價差
履約價可以抓前面的高點作為參考基準
另外,由於我們是判斷回檔
所以不需要把這個空頭價差做在比較長期的月選
而是做在比較短期的周選
如此一來這個空頭價差就能替我們月選多頭價差沖銷方向上的風險
其實如果你對選擇權已經有接觸過的話
你應該會發現,這其實是一個變形的兀鷹
只是兀鷹策略會做在同個時間的契約裡面
又或者你也可以把它當作是時間價差或者對角價差
但上述兩者會有裸賣部位
但我們這個策略在周選與月選都是價差,風險是有保障的
26:02 總結
這裡我們就給明確定義
a.在均線多頭排列時,做這樣的策略
每個禮拜固定做一組看多價差,我推薦星期五做
而在做這樣策略期間,如果遇到空頭排列,看多價差要停損出場
(空頭排列:5MA,10MA,20MA)
如果均線糾結在一起,則暫停動作(10MA,5MA,20MA,or 20MA,5MA,10MA)
b.做月選多頭價差,位置做20MA
若獲利空間不大(指數位置離20MA太遠),參考支撐壓力表的支撐
(to新手:如果要談技術分析的話,支撐通常會是前面的低點)
c.跌破5MA,在周選做看空價差,位置選在跌破五日均線前的高點
(這裡注意,不是做在5MA喔!是做在前面的高點)
補充:
a.新手的話我建議本金5萬來做這樣的策略
雖然說你其實不需要這麼多資金,但至少你一開始輸的話
比較不會有壓力
b.逆向的月選看空價差,周選看多價差這種做法並不建議
因為空頭走勢又急又兇
這樣做可能討不到甜頭,倒不如直接做買進賣權
▼凱文的選擇權課程,適合新手、小資族,讓你瞭解如何運用選擇權獲利!▼
https://optionplayerkevin.teachable.com/
▼歡迎加入會員▼
小額贊助,可以在留言區使用特別的專屬貼圖
鐵粉會員,除了貼圖,每天我會與你分享我對盤勢的想法
https://www.youtube.com/channel/UCL2JKimITPdd37tEzJrHPAg/join
▼底下有各種資訊,歡迎點開參考▼
✅選擇權討論社團:http://optionplayerkevin.pros.is/groupkevin
✅IG:http://optionplayerkevin.pros.is/instagramkevin
✅FB:http://optionplayerkevin.pros.is/facebookkevin
✅line社群:https://lihi.tv/YcKVl
這個頻道專注在選擇權的話題上
股票、期貨、基金也歡迎大家來討論
希望大家都能變得更有錢,邁向財務自由
本集節目由蝦皮贊助播出
https://shp.ee/2dues3k
----------
***重要申明:影片主要為分享我個人的想法,並非投資建議,請觀眾在操作前仍需三思。***
c++ c++ 差異 ptt 在 Tech Dog Youtube 的最讚貼文
#FlowX13 #ROG #科技狗
▌建議開啟 4K 畫質 達到高品質觀影享受
Intel 不爭氣啊 Thunderbolt 4 剛發表就淘汰
下一代 Thunderbolt 5 大家買不買單還很難說
ROG 就率先出征 挾帶廣大電競玩家走一條自己的 XG Mobile 特規之路
Flow X13 電競筆電就是要跟 XG Mobile RTX3080 顯卡合體
才算是給電競玩家完整的交代
傳輸介面上光是 PCIe® 3.0 x8 就達到 64Gbps
效能運算上滿血 TGP 150W 給到頂
這張 RTX3080 Mobile 輸出運算和桌機版 RTX3070-O8G 比起來如何
我們影片也會詳細實測
至於其他細節 Flow X13 也是滿載 ROG 魂
就跟伊森一起張大鼻孔聞聞香吧
::: 章節列表 :::
➥ 規格設計
00:00 全新感受
00:35 筆電 A 面
00:58 筆電 B 面
01:22 筆電 C 面
01:49 筆電 D 面
02:40 筆電 I / O 連接埠
03:12 1 + 1 = 完美方案
➥ ROG XG Mobile 實測
03:41 外接顯卡 ROG XG Moblie
04:41 外接顯卡頻寬差異
05:55 3DMark 跑分實測
06:44 遊戲實測
➥ 全方面制霸
07:50 筆電模式
09:57 平板模式
10:30 影音模式
11:23 遊戲模式
11:42 全方面制霸
11:53 電力續航
12:07 極限燒機
➥ 最後總結
13:10 最後總結
::: ROG Flow X13 GV301QH 規格 :::
AMD Ryzen 9 5900HS 3.3GHz
16GB LPDDR4X-4266 Dual-channel on board
WD PC SN530 M.2 2230 NVMe PCIe 3.0 x4 SSD 1TB
NVIDIA GeForce GTX 1650 4GB GDDR6 Max-Q 35W
16:10 可觸控螢幕 13.4” IPS 康寧大猩猩強化玻璃
3,840 x 2,400, 338ppi
Intel Wi-Fi 6 AX200, Bluetooth 5.1
2 x Type-C USB 3.2 Gen 2
1 x Type-A USB 3.2 Gen 2
1 x HDMI 2.0b
1 x 3.5mm 音訊孔
1 x ROG XG Mobile Interface
電源鍵整合型指紋辨識
4-Cell 62Whr / 4,007mAh
NT$54,900
::: ROG XG Mobile GC31 規格 :::
NVIDIA GeForce RTX 3080 Mobile 150W
1 x ROG XG Mobile Interface
1 x HDMI 2.0b
1 x DisplayPort 1.4 (支援輸出 4k@120 HDR)
1 x 10GbE 乙太網路
4 x Type-A USB 3.2 Gen 1
1 x SD UHS-II 讀卡槽
總供電瓦數 280W
NT$45,900
不要錯過 👉 http://bit.ly/2lAHWB4
--------------------------------------
#4K #ROG #FlowX13 #GV301QH #XGMobile #GC31 #xbox #windows #PTT #科技狗
#筆電 #筆記型電腦 #觸控 #外接顯卡 #外顯 #電競筆電 #電競 #輕薄筆電 #筆電推薦
📖 Facebook:https://www.facebook.com/3cdog/
📖 Instagram:https://www.instagram.com/3c_dog/
📖 官方網站:https://3cdogs.com/
📖 回血賣場:https://shopee.tw/3cdog
▋ 有任何問題都來這邊找我們:3cdogs@gmail.com
c++ c++ 差異 ptt 在 Re: [問卦] 會寫C++的人一定會寫C語言嗎? - 看板Gossiping 的推薦與評價
不一定C語言是程序導向C++是物件導向我同學就是這樣, C語言沒修, 直接修C++ 然後班排第一只會用C++的語法...Class和繼承完全都懂但是只要扯到C語言的 ... ... <看更多>
c++ c++ 差異 ptt 在 Re: [問卦] 會寫C++的人一定會寫C語言嗎? - 看板Gossiping 的推薦與評價
不一定C語言是程序導向C++是物件導向我同學就是這樣, C語言沒修, 直接修C++ 然後班排第一只會用C++的語法...Class和繼承完全都懂但是只要扯到C語言的 ... ... <看更多>
c++ c++ 差異 ptt 在 [心得] C++ 與C 的特性及區別- 精華區C_and_CPP 的推薦與評價
無聊寫的,適合晚上睡不著的人催眠用。保證對學習沒幫助,對了解 C++
是什麼,有一定的混淆作用;大家沒事看看就好,不用在意。
◎貓抓老鼠--沒有適合所有人的編程語言
常常見到許多人在問「我應該學習什麼語言?」。類似這樣的問題,與
其說是「見仁見智」,不如說是「貓抓老鼠」。俗話說:「會抓老鼠的
貓,就是好貓。」對使用者而言,究竟何種編程語言是最合適的,端視
其個人的需求及能力。要是始終拿不住耗子,這隻貓就算再名貴,再漂
亮,也沒什麼意義。
當然,反過來說,如果學不好某種語言,也不必太過灰心,這或許表示
您應該嘗試著轉往另外一片更適合自己的天空發展(另一片天空,可能
是換養另一隻貓,也可能是換抓不同的老鼠,甚至可能是不抓老鼠改行
養老鼠)。但千萬莫要因自己的挫折經驗,就拼命攻擊抵毀它,尤其是
當「這隻貓」早已經被整個地球上業界頂尖的高手,和無數職業編程人
員及業餘玩家,證明了「它絕對是個好樣的」,實用價值無可取代時,
那些私心的言論,只不過暴露了批評者本身的偏狹。
◎其他主流語言與 C/C++ 的差異
在討論 C++ 和 C 的區別之前,或許先從「旁觀」者的角度,看看它們
「相同」或「相似」的部份。此處主要的參照體是選擇一般通用型的編
程語言。
一、實際運作的觀點
首先,從實際運作的觀點,C 及 C++ 都是循傳統的方式,透過編譯器
和連結器,直接產生原生的機器碼(Machine Code 或 Native Code)
,而新一代的編程語言,有很多(例如 Java, C# 等)是先透過翻譯轉
成 bytecode,然後再由虛擬機器(Virtual Machine)來執行。
雖然很多人認為 Java、C# 等語言依賴虛擬機器執行的方式,效率不佳
,不過客觀的說,其實這種技術在某種意味上是比較先進的觀念,它最
重要的優勢顯示在移植性方面。至於效率的問題多半出在各平台間的差
異太大,而實作技術則顯然尚未完全成熟。(但這是可以克服的)
可能已經有人開始著急了。「照這樣說,C/C++ 不是落伍了嗎?」其實
並沒有。本質上來看,兩者是一樣的。因為大可以把 C++ Complier 當
成虛擬機,只是它不是由一家公司或少數特定人士所規範的,而且絕大
多數的平台(機器和作業系統)上,都是支持 C/C++ 的。而像 J2SE,
.NET 這些架構則是 Sun 或 MS 所制定的。
(甚至可以這樣認為:C/C++ 的虛擬機器是很多不同廠商、組織各自實
作的,只是它們儘量遵循 ISO ANSI C/C++ 的標準,而 JVM 又或 CLI
這些東西,雖說也是開放的,但實則操縱在 Sun 和 MS 手中。)
實際上,C/C++ 與 Java, C# 等最大的分別,並不是體現在虛擬機器的
觀念或作法上,而是體現在應用層面。光學會 C/C++ 語言,甚至它們
的標準程式庫後,通常幹不了什麼有用的事。一個 C/C++ 程式人員,
至少得熟悉一種 GUI 框架、一種 IPC 框架及一種 Database 框架,才
大致可以說能處理大部份的應用問題。
當然,不是說用 Java, C# 就不必學會這些東西,只是這些功能有很多
都已經成為該語言(框架)標準的一部份,在學習語言的時候,通常就
會順便學到應用的架構。但在 C/C++ 中,所謂的「標準程式庫」,卻
只規範了最最基本的 I/O,檔案處理,和常用的基礎演算法等等,其他
都必須仰賴第三方或特定廠商的程式庫的支援,而這些東西則沒有所謂
的標準,又常常受限於特定的平台環境,在取捨上比較不易。
二、型別系統的觀點
C/C++ 語言都是採用傳統的靜態型別系統(static type system),而
許多新語言,為了便利物件導向特性的運作,是採用基於單根繼承的泛
化型別系統,例如 Object Pascal, Java, C# 都是如此。
靜態型別系統的特性,就是不強制改變使用者自訂型別(UDT: User-
defined Type)的記憶體佈局,並且允許在 stack 中配置 UDT 變量(
也就是「物件」,但由於在 C 語言中,沒有真正物件導向的觀念,因
此以「變量」來指稱)。此外,在靜態型別系統中,「型別」和「變量
」之間,是壁壘分明的,你無法在編譯期產生變量,也不可能在執行期
產生新的「型別」。
相對的,基於單根繼承的泛化型別系統,例如在 Delphi 的 VCL 架構中
,所有的 VCL 元件,都繼承自 TObject,這就使得某些特殊的功能,例
如以 ClassName 取得物件的實際型別資訊,就很容易實現。Java 和 C#
等也都是如此。某些語言甚至內建 MetaClass 的特性,型別本身也可以
當作變量,在執行期建立新的、或修改既有的型別,這些都是根源於泛
化型別系統的基礎。相形之下,在靜態型別系統中,很多特殊的功能,
語言本身不直接支持,就必須自己去實現,或仰賴函式庫。
當然,靜態型別系統的最大優勢,就是執行期的效率。這也就是 C/C++
的「零成本」原則:「使用者不該為他沒有用到的功能,付出執行期的
效率代價」。因為不是每一件事情都得靠泛化型別系統的多態性來解決
,並且解決的辦法也不應該只有一種(該語言所限制住的那一種)。
三、哲學的觀點
簡單的說,C/C++ 的設計哲學是把程式人員視為「成人」。它認為程式
人員知道自己在幹什麼,而不是把程式人員當成「小孩」甚至「犯人」
,需要特別的保護,甚至預設程式人員一定會犯某種錯誤,所以它儘量
給予最大的自由及彈性,而不是強迫的限制或規範。
例如,包括內建型別,使用者自訂型別,和指標在內,它不強迫你一定
要將變量(物件、陣列或指標)初始化,不強迫你檢查陣列的範圍,不
強迫指標一定要指向合法的位址,它甚至允許你在各型別之間任意轉換。
又例如,C/C++它並不內建垃圾回收器(GC: Garbage Collection),
它認為唯有程式人員自己,才能決定何時方是歸還動態申請記憶體的最
適當時機,而不會在背後監視著一舉一動,幫忙收破爛。
當然,如果只是因為「自由」和「彈性」,而要付出高昂的管理和維護
的代價,那是不值得的。C/C++ 相對於其他語言,顯得較為「寬鬆」,
主要還是基於效率方面的考量。很多基於物件導向特性的新語言,雖然
增加了安全和提供某些狀況下的便利性,然而一旦面對陌生或特異的問
題,既有的工具和規範,無法直接套用時,過多的限制或「預設立場」
,就很可能反變成了累贅。
從這個角度,也可以說,C/C++(其實主要指 C++)並不認為存在著某
種最完善的方案,可以解決所有「應用層次」的問題,因此並不在語言
層次去規範這些問題應該怎麼解決,而是把解決方案交給應用層(程式
庫)去負責。語言本身只提供各種抽象的設計機制(介面),讓程式庫
的使用能儘量與語言系統的風格一致。
◎ 偉大的 C 語言
就筆者個人的認知,C 絕對稱得上是一個偉大的語言。它最偉大之處,
在於語言本身,良好地對映了 Von Neumann 所提出的現代計算機的模
型(主要是:二進位制、序列執行,以及將程式與資料都儲存在機器裏
)。C 語言的指標(pointer),對記憶體操縱的簡潔、自由、及靈活
性,就充份體現了這一特色。透過 C 語言,使用者可以較為直覺地運
用抽象的數學觀念,來編寫程式,而不必直接面對晦澀的機器指令。
由於與機器模型之間的高度映射關係,以及語言本身的精鍊,相較於機
器語言,C 除了具備高度的移植性,在效能方面的表現也相當突出,大
部份的情況下,幾乎不遜於機器語言多少。很多大型的系統,除了少部
份的核心代碼使用機器語言之外,絕大部份都是以 C 語言編寫的。
以現在的眼光,雖然 C 語言不是大多數應用領域的首選(當然,還是
有不少領域是非常 prefer C 語言的),但透過 C 語言的學習,對於
理解程式在機器中實際的運作情形,有莫大的幫助,也可以說是理解程
式的基礎。任何人若想成為編程高手,精通 C 語言,可以說是起碼的
條件。在整個資訊科學領域中,C 語言更是佔有極其關鍵、無法磨滅的
歷史性地位。
◎從 C 到 C++
雖然其實筆者是很想下「偉大的 C++」這樣的標題,但實際上如果不是
承襲了 C 語言的精髓,C++ 是不可能有今天的成就的。另一方面,C++
的某些不盡人意之處(例如語法的過於複雜),也是因為承襲了 C 語
言的特點才造成的。
究竟 C++ 和 C 有什麼不同呢?本來,在 ANSI C99 的標準以前(C89)
,C++ 至少有 95% 甚至可以說 99% 是兼容於 C 語言的,因此可以說
C 語言是 C++ 的一個子集。但在 C99 之後,某些 C 語言新的特性,
特別是動態長度的 Array,使得這種大體上的兼容性被破壞了,也就是
說,把 C 當成 C++ 的子集,這樣的說法可能要有所保留了。如果將來
,C 和 C++ 再度出現某些重大的分歧,也不是什麼令人意外的事情。
一、強化「型別安全」--對型別系統的全面改進
許多涉及語法細節之處就略過了。在此只提出一個較重要的部份,是關
於 C++ 與 C 的根本不同之處:
int *v = ...;
void *p = v;
int *p2 = p; // 合法的 C 程式碼,但在 C++ 中不合法
簡單的說,C++ 不允許 void * 隱式轉換為任意型別 T 的指標。但在
C 語言中,這是合法的。
C++ 禁止上述操作的理由,是為了強化「型別安全」。程式中一旦使用
void *,就等於自動放棄了編譯器對型別的自動檢查與核對動作,也就
是放棄了型別安全。而明知不好,C++ 仍然支援 void * 這種用法的原
因,主要是為了兼容於 C,但由於 void * 隱式換為任意型別的 T *,
這種用法實在太危險,所以在 C++ 中被禁止了。
理想的 C++ 程式,是不應該出現 void * 這種用法的。C++ 之父 B.S.
就曾指出,除了低階程式之外,應該儘量避免使用 void *,如果非得
用 void * 不可,通常代表你的設計出了某些問題。
仔細觀察,C++ 的每一項基礎設施,都有提升型別安全的意味在其中。
例如:
1引入 bool 型別,避免混淆。(主要問題在函式 overload 時)
2鼓勵以 0 而非自行定義的 NULL 巨集等代表空指標。(B.S.大和另
一位 Herb Sutter 大,在 2003 年底提出新增加 nullptr 關鍵字,
但不曉得 C++03 是否有通過)。
3引入 const,讓「常數性」成為與型別不可分割的一部份,除了提升
安全,讓編譯器承擔檢核的責任之外,也有助於代碼的優化。(因此
後來 C 語言也跟進採用。)
4引入 const, inline 等用法,減少非必要巨集的使用。(因為展開
巨集是預處理器的動作,沒有通過編譯器,也就沒有型別安全可言)。
5引入 reference 機制,簡化指標的語法,並有效減少指標(尤其是
兩層以上的複雜指標)的使用。
6引入 new 和 delete,取代 malloc 和 free,把動態記憶體配置的
工作,提升至語言層級,減少強制轉型的使用(另一主要目的是為了
配合 operator overloading,提升介面的一致性)。
7引入新的 static_cast, const_cast 等關鍵字,鼓勵儘量減少強制
轉型的使用。
8引入 function/operator overloading 機制,讓同名函式及各種運
算子,可依據不同的操作型別,實現不同的動作。強調「型別」也是
函式具名的一部份,達成介面一致性,並使 UDT 能像內建型別的操
作一樣自然。
這些每一個小地方,都可以看出 C++ 為了強化「型別安全」,所付出的
用心和努力,雖然除了禁止 void * 的隱式轉型之外,基本上沒有限制
C++ 使用者延用舊的 C 語言的舊式習慣寫法,但筆者認為,了解型別系
統的特性,並隨時意識著「型別安全」,是掌握良好 C++ 編程風格的最
重要觀念。
二、在「思維方法」上的差異
程式語言處理的不外乎資料結構及演算法,STL 的發明人也說過:「程
式基於精確的數學。」前面提過,C 語言偉大之處,就是它十分良好地
對映到機器模型,免除了直接使用機器語言的晦澀。
也就是說,C 程式人員不必去操心 register 管理、記憶體定址等等極
度低階的細節問題。其所思考的,多半像是「我應該用什麼演算法,把
某幾段特定記憶體內的資料取出來,經過怎樣的運算後,再存到特定的
記憶體區段去……。」這種把運算和存取操作的細部具體動作,轉換為
抽象的數學思考的流程,本質上仍然是非常貼近機器模型的。而這樣的
風格,不僅反映在 C 程式碼上,更多半根深蒂固地植入 C 程式人員的
思維方式內。
隨著資訊科學的發展,愈來愈多的應用問題,需要利用編寫程式來處理
;人們發現,大部份應用程式所使用的演算法和資料結構,是極為有限
的。另一方面,編寫程式語言的常用技巧,卻已經累積地相當成熟了,
程式人員需要付出更多心力的,不再是某個典型的演算法或資料結構,
應該如何實現,如何處理;而在於,如何將問題的本身,適當地轉換為
程式語言。
因此,一種讓程式語言能夠以「貼近待解決的問題」的方式來思考,而
不再只是侷現於「貼近機器模型」的思想,就應運而生。簡單地說,它
就是起源於 70 年代(甚至更早),在 80~90 年代開始快速發展,直至
今日,雖不再新鮮,卻仍屬方興未艾的「物件導向」的觀念。
由於物件導向(OO: Object-Orientd)的觀念是如此氾濫,甚至已經上
升到哲學的層次,幾乎沒有一個比較新的語言(80年代以後),不支援
它的特性,所以這裏也就不多介紹了。只是要指出一點, C++ 也好,或
其他支援物件導向特性的編程語言也好,它們與 C 語言最大的分別,並
不在語法或功能的區別上,而是在於看待問題的基本思考方式,也就是
所謂「思維方法」上的差異。
三、multi-paradigm
C++ 和 C 語言,在觀念上最大的不同之處,就是,C++ 是支持 multi-
paradigm 的編程語言。如下面所示,C 語言及傳統的 Pascal 語言,
是所謂 procedual-based 的編程語言,而 Java, C# 等較新的語言,則
是 object-oriented 的編程語言(OOPL)。
至於 C++,它實際上是個支援 multi-paradigm 的編程語言,因為它不
僅保留了 C 的程序導向的編程,更重要的是它沒有沒有為了要支援 OO,
而破壞基於 C 語言的靜態型別系統,因此它提供的 ADT(abstract data
type)機制,與繼承和執行期繫結等 OO 特性的機制是互相獨立的。這使
得 C++ 在 OO 的執行期多型之外,罕有地提供了強大的編譯期多型的機
制,也就是一般稱為「泛型編程」的技術。
procedual-based(eg: C, Pascal...)
object-oriented(eg: Objective C, Object Pascal, Java, C#...)
C++: procedual-based object-based(ADT)
\ / \
\ / \
\ / \
generic object-oriented(OO)
由上面的簡單示意圖可看出,泛型(generic)的編譯期多型的特性,不
止對應在 ADT 上,也可以直接對應到程序導向的編程,例如 C++ 標準程
式庫所提供的泛型演算法,就大部份是以函式而不是 class 來呈現的,
實際上,整個 C++ Standard Library,除了 I/O 的部份,幾乎完全沒有
用到 OO 的執行期多型的特性(更多的是 ADT 和 template)。
此外,或許有人會提出,其實 Java 或 C# 也是支援 generic 編程的,是
沒錯,Java 也有類似 C++ 的樣板容器的功能,但實際上是用「代換法」
做的,並沒有真正產生新的型別,因此它無法達到 C++ template 那樣可
以有型別客製化(特殊化: specialization),或與其他抽象化機制合作
(例如繼承、甚至遞迴)的多樣化的能力,並不算真正意義上的編譯期多
型。實際上,Java 和 C# 語言所採行的單根繼承的泛化型別系統,早就先
天限定它們不適合朝編譯期多型的方向發展,它們比較接近純粹的 OOPL。
C 語言的思考方式偏重於資料運算和記憶體存取的動作,物件導向的思考
方式,則是將問題分解成不同的抽象概念(class),讓使用者專注在概
念與概念間之的關聯,能從一個整體的大的方向,去關注問題,避免過早
陷入細節,見樹而不見林。
同時,良好的設計,是當需求有所改變時,只需要修改、調整部份的模組,
就可以完成工作,不必整體性的翻修,牽一髮而動全身。這也是物件導向
設計的重要精神,有一個專門的領域 DPs(Design Patterns),它與特
定程式語言無關,就是在研究面對各種問題需求的典型解決方式,現在學
物件導向設計一定會接觸到它。
至於,C++「多思維面向」(multi-paradigm)的特性,又是如何影響編
程的思考方式呢?
這裏舉個《Modern C++ Design》第七章的例子。Smart Pointer 的發展
動機,是為了防止直接操作指標所帶來的危險性,但隨著各種不同的需求
,它的實作細節也就有所不同。例如:它能不能與其他容器類(例如標準
程式庫中的 vector, list 等)共用,以及使用的細節如何?是否允許取
得原始指標?是否對各種操作動作進行檢查,如何檢查?甚至,是否支援
多緒程式安全地操作……等等。
如果將各種需求組合都列出清單,再一個一個實作,勢必沒完沒了。最理
想的方式,是讓程式員自由選擇各種「需求策略」,讓編譯器自動產生相
應的程式碼。這種設計乍看來是遙不可及的理想,但實際上已經做到了。
這就是 Loki 函式庫所提供的實作品 class template SmartPtr:
template
<
typename T,
template <class> class OwnershipPolicy = RefCounted,
class ConversionPolicy = DisallowConversion,
template <class> class CheckingPolicy = AssertCheck,
template <class> class StoragePolicy = DefaultSPStorage
>
class SmartPtr;
由於牽涉的選擇項目過多,這裏只解釋 OwnershipPolicy,也就是實際物
件擁有權的策略,它預設是 RefCounted,也就是參用計數的規則。但也
可以依據需求的不同,選擇其他的擁有權策略,例如:RefCountedMT、
DestructiveCopy、DeepCopy、……等等。使用方式如下:
class User {...};
typedef SmartPtr<User, RefCounted> UserPtr;
如此,UserPtr 就變成類似 boost::shared_ptr<User> 的作用,可以和
標準容器合作,而實現 Java、C# 語言常見的功能。又假如:
class Manager {...};
typedef SmartPtr<Manager, DestructiveCopy> ManagerPtr;
現在,MangerPtr 則和 std::auto_ptr<Manager> 一樣,採取所謂「摧毀
式複製」的語義,也就是同時只有一個 ManagerPtr 可以真正操縱同一份
Manager 類型的實體物件。
實際上,SmartPtr 的實現牽涉到 ADT、多重繼承、編譯期多型等等的特
性,它應用了一種叫 policy-based 的設計觀念。這與其他程式語言或是
DPs 所標榜的 OO 的特性,或所謂「良好設計」的最終目的,並沒有不同
,同樣是將不同的概念獨立分解,再巧妙組合起來。只不過,在 C++ 中,
除了傳統 OO 執行期多型的技術之外,還多了強大的編譯期多型的支援,
使得不僅「物件」(資料結構和演算法),可以在執行期被彈性處理,就
連「型別」(概念)的本身,在編譯期,也可以自由的選取整合。這對程
式碼編寫的簡潔、靈活性和執行效率,都能帶來很大的提升。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.214.120
... <看更多>