談談C/C++的學習路線,發展方向?

lz是c++程序員,在win下做前端應用開發2年,c++、Win32基本功還不錯,熟練使用各種第三方庫。現有些迷茫,感覺找不到方向。

---------------背景交代完畢---------------

起初寫代碼只是當做興趣愛好來玩,不過現在不一樣了,還需要來當做事業來發展。

我想問下大家像C++這種高效節能低碳環保的編程語言將來的發展方向該怎麼走?

方向遠比努力更重要,lz現在還比較年輕,要學習的東西還很多,以後要走的路還很長。希望前輩們可以指導一下我們這些新人。


我是一名C/C++老師,經常和同學們打交道,發現大家遇到的困難大部分類似,大致分為以下幾類:

1、剛接觸C/C++,不知道該從哪裡學起,也不知道該學點啥;

2、書本太枯燥,厚厚一本看著都頭疼;課上也沒法錄像,聽了一遍沒聽懂;

3、去網上找點教學視頻吧,卻發現教學視頻那麼多,不知道該學哪個。萬一遇到冒牌講師,講成一坨翔了,純屬浪費生命;

4、誒,好不容易找到一個靠譜的好視頻,卻沒有配套資料(源碼、講義、筆記什麼的);

5、好吧,千辛萬苦終於入門了。遇到一個bug改到昏天黑地,自己跟它死磕,不知道該問誰……

作為一個過來人,我走了許多彎路才步入正軌。有了我這個前車之鑒,我不希望你們也像我一樣,剛從一個坑爬出來,然後馬上掉進另一個坑。所以,我們幾個老師花了整整一個月的時間,把所有知識做了一個梳理,這才有了這個學習路線圖,爭取讓大家有「一圖在手,天下我有」的感覺。

如果你真想畢業之後找份高薪的工作,越早開始學越好,最好是從大一就開始,大學時間那麼充裕,只要踏踏實實好好學,幾年堅持下來,二傻子都能變成大神。但如果你時間有限,就需要集中突擊一下啦,這些知識3個月左右就能學完。

資源以後不定期更新,都免費,覺得好就幫我分享給更多的人,權當是做公益了,別問我是誰,叫我雷鋒就好!另外,我這還有一些私密資源,我QQ:2369773854,好友快滿了,欲加從速哈,當你遇到困難時,或許我能給你指條明路。(PS:做人要厚道,真誠最重要,別套路我哈)

咳咳,最後嚴肅一些。黑馬程序員「為莘莘學子改變命運而講課,為千萬學生少走彎路而著書」。

二、C/C++學習路線圖——視頻篇

學習階段 學完後目標 知識點 一鍵下載 一、玩轉C語言 學習周期:22天
學完後目標:
可以開發簡單的C語言小程序。
市場價值:

C語言入門 點擊下載

1.數據類型 2.流程式控制制 3.函數 4.指針 5.內存布局 6.結構體、共用體 7.文件操作

Linux系統編程基礎 1.Linux操作系統介紹 2.Linux目錄和路徑 3.Linux文件許可權 4.Linux下常用命令 5.Vim編輯器 6.webserver環境搭建 C項目:電子詞典 1.指針操作 2.文件讀寫 3.流程式控制制 C語言提高 1.指針,二級 2.結構體、文件的使用 3.動態庫的封裝和設計 4.函數指針回調函數 5.C語言面試題強化與提高

二、C++入門 學習周期:13天

學完後目標:
熟悉C++語言並可以開發類似貪吃蛇的休閒遊戲。
市場價值:月薪4k~6k

C++對C的擴展 點擊下載

1.C++關鍵字 2.命名空間 3.引用 4.C/C++混合編程 5.函數擴展 C++基礎 1.面向對象編程思想 2.類的封裝 3.構造和析構 4.靜態成員 5.對象管理 6.友元函數、友元類 7.操作符重載 8.類的繼承、多繼承及其二義性 9.多態 10.虛函數、純虛函數、抽象類 11.函數模板、類模板 12.C++輸入輸出流 13.C++異常處理 數據結構 1.演算法基礎 2.順序存儲 3.鏈式存儲 4.循環鏈表 5.雙向鏈表 6.棧(順序和鏈式) 7.隊列(順序和鏈式) 8.樹基本概念及遍歷 9.二叉樹 10.排序演算法

三、C++進階 學習周期:10天

學完後目標:
掌握開發高級技能,可以開發複雜程序項目。
市場價值:月薪6k~8k

C++進階之STL 點擊下載

1.序列式容器vector、deque 2.堆棧容器stack 3.雙向鏈表容器list 4.關聯式容器set、multiset 5.關聯式容器map、multimap 6.對組pair 7.STL演算法詳解 設計模式與UML 1.設計模式概念 2.面向對象設計原則 3.單例模式 4.工廠模式 5.UML應用 C++項目:貪吃蛇 1.C++常用的數據結構鏈表 2.C++類的使用 3.C++項目開發流程

四、征服Linux 學習周期:27天
學完後目標:
能夠做伺服器方向的程序開發,包括網路通信資料庫。
市場價值:月薪8k~11k

Linux基本操作 點擊下載

1.Linux基本命令 2.Linux運維操作 3.文件I/O操作 4.文件系統剖析 Linux系統編程 1.進位控制原語 2.進程間通信 3.Linux信號處理 4.進程間關係 5.守護進程 6.線程式控制制原語 7.線程間同步 Linux網路編程 1.網路編程協議(TCP/IP、UDP) 2.Socket套接字原語 3.高並發伺服器 4.非同步I/O 5.libevent 資料庫開發階段 1.SQL語言編程 2.SQL面試強化 3.MySQL編程 4.MongoDB編程 Linux項目:web伺服器 1.多進程,多線程 2.進程間通信 3.多任務編程 4.網路數據通信過程 5.B/S,C/S網路概念

五、攻克QT 學習周期:9天
學完後目標:做出跨平台的優美界面,做前端開發。
市場價值:月薪8k~11k

QT跨平台圖形開發 點擊下載

1.QT框架介紹 2.父窗口和子窗口 3.信號和槽 4.坐標體系 5.對話框的使用 6.utf-8和GBK字元編碼的轉換 7.常用布局(水平、垂直、網格) 8.自定義控制項實現 9.QT文件操作 QT界面編程項目案例 1.QT界面編程 2.QT文件操作 3.QT對話框

三、C/C++學習路線圖——工具篇

必備資源 資源名稱 百度網盤一鍵下載 C/C++軟體

C/C++界面的編程的首選--Qt https://pan.baidu.com/s/1c2DTwNe

區域網的通訊神器---飛秋 https://pan.baidu.com/s/1qXUjFQk

Windows虛擬機軟體 https://pan.baidu.com/s/1jIlqYG2

看PDF文件就用福昕閱讀器 https://pan.baidu.com/s/1pK9mY99

印象筆記Evernote ---- 一款多功能筆記類應用 https://pan.baidu.com/s/1c2HXjP2

FileZilla是一個免費的FTP軟體 https://pan.baidu.com/s/1pLs8o6v

Xmind --- 一款非常實用的商業思維導圖軟體 https://pan.baidu.com/s/1mizzX2K

資料庫mysql(必會的資料庫) https://pan.baidu.com/s/1jIyih4E 密碼:7cuw

文本編輯工具notepad+(實用的多功能編輯器) https://pan.baidu.com/s/1eSKAUcU 密碼:hwa5

伺服器tomcat https://pan.baidu.com/s/1bp7PPyZ 密碼:ndr7

vmware 12 虛擬機(好用的虛擬機) https://pan.baidu.com/s/1jI7B8QM 密碼:yi83 谷歌瀏覽器(做頁面都用的瀏覽器) https://pan.baidu.com/s/1kVwKiOZ 密碼:4adp

拾色器(找到你想要的顏色) https://pan.baidu.com/s/1o8Q0smY 密碼:ykyv

xjad反編譯工具 https://pan.baidu.com/s/1mi4jF64 密碼:gc3q

火狐瀏覽器帶Firebug(bug處理方便的瀏覽器) https://pan.baidu.com/s/1slne6qp 密碼:xxym 代碼對比工具 https://pan.baidu.com/s/1gfFjl6r 密碼:made

C/C++手冊 Linux常用命令大全 https://pan.baidu.com/s/1dFcDArZ

Linux基礎命令教程豪華版 https://pan.baidu.com/s/1mixydZi

以上全部工具合併下載 https://pan.baidu.com/s/1jHOrbpW

四、C/C++學習路線圖——經驗篇

C/C++技術文章
(新人篇) C++入門不再那麼難——陽神帶你玩轉C++ 【小白】C++入門不再那麼難--陽神帶你玩轉C++-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

學習C_C++編程的唯一先決條件:興趣和愛好 【小白】學習C/C++編程的唯一先決條件:興趣和愛好-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

高效程序員的 5 種角色 【小白】高效程序員的 5 種角色

給學c++同學的50條忠告 【小白】給學c++同學的50條忠告-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

輕鬆學習C語言系列-野指針分析 【筆記】C語言野指針分析-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

C語言常用字元串介面總結 【小白】C語言常用字元串介面總結-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

最常見的78個編譯錯誤及分析(一) 【小白】最常見的78個編譯錯誤及分析(一)-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

最常見的78個編譯錯誤及分析(二) 【小白】最常見的78個編譯錯誤及分析(二)-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

最常見的78個編譯錯誤及分析(三) 【小白】最常見的78個編譯錯誤及分析(三)-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【精華】史上最全的C_C++視頻+源碼+技巧+經驗+軟體+面試題 【資源】一張貼玩轉C/C++:視頻+源碼+筆記+工具+面試-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【精華】C++學院推出全新三大實戰項目 【新聞】C++學科推出全新三大實戰項目-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【精華】3分鐘帶你讀懂C_C++學習路線 【經驗】3分鐘帶你讀懂C/C++學習路線-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】大牛教你如何使用C++中的類型轉換 【筆記】大牛教你如何使用C++中的類型轉換-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】漫談軟體編碼風格 【筆記】漫談軟體編碼風格-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】最常用的六大設計模式 【筆記】C++程序員必知十大條款(上)-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】gdb斷點調試的三個實用技巧 【筆記】gdb斷點調試的三個實用技巧-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C++之STL總結精華筆記 【筆記】C++之STL總結精華筆記-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】共享內存shm和mmap的比較 【筆記】共享內存shm和mmap的比較-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Linux常見的六大IPC通信方式 【筆記】Linux 常見的六大IPC 通信方式

【筆記】C++中四種類型轉換方式 【筆記】C++中四種類型轉換方式-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C++程序員一定要知道的十大條款! 【筆記】C++程序員必知十大條款(下)-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】如何實現一個優美的鏈表 【筆記】如何實現一個優美的鏈表-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】創建Qt滑鼠右鍵菜單 【筆記】創建Qt滑鼠右鍵菜單-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】如何成為一個牛逼的C/C++程序員? 【筆記】如何成為一個牛逼的C/C++程序員?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C/C++中的內聯函數與宏定義 【筆記】C/C++中的內聯函數與宏定義-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】c和c++中const異同 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】教你快速搞定Qt下的Json文件使用 【筆記】教你快速搞定Qt下的Json文件使用-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】無師自通6大C++程序員實用網站 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】使用容易出錯的四個庫函數 【筆記】使用容易出錯的四個庫函數-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C++的複雜性 【筆記】C++的複雜性-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Git遠程操作介紹 【筆記】Git遠程操作介紹-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】QSharedMemory學習 【筆記】QSharedMemory學習-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】容Linux C/C++工程師肆意飽覽的十二本群書 【筆記】容Linux C/C++工程師肆意飽覽的十二本群書

【筆記】Qt多線程程序設計 【筆記】Qt多線程程序設計-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

C/C++技術文章
(經驗篇) 【筆記】預處理命令詳解 【筆記】預處理命令詳解-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】關於宏定義必須知道的四點 【筆記】關於宏定義必須知道的四點-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】指針技巧之取值 【筆記】指針技巧之取值-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】常用的9個字元串C標準庫函數之strstr實現 【筆記】常用的9個字元串C標準庫函數之strstr實現-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C/C++中const的區別 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】編寫高效C語言的四大絕招 【筆記】編寫高效C語言的四大絕招-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】語法中的「六大陷阱」 【筆記】C語言語法中的「六大陷阱」-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Linux C/C++工程師需掌握的7項技能 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C++中GB2312字元串和UTF-8之間的轉換 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】移動端頁面適配四大方式 【筆記】移動端頁面適配四大方式-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】鏈表逆置 【筆記】鏈表逆置-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言 四種程序結構 【筆記】C語言四種程序結構-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】指針數組和數組指針淺析 【筆記】指針數組和數組指針淺析-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】教你快速理解大端和小端 【筆記】教你快速理解大端和小端-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言經典面試題目:strcpy函數的實現 【筆記】C語言經典面試題目:strcpy函數的實現-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】vs下靜態庫和動態庫的封裝和使用 【筆記】vs下靜態庫和動態庫的封裝和使用-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Qt和MFC比較 【筆記】Qt和MFC比較-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】MFC基礎類及其層次結構 【筆記】MFC基礎類及其層次結構-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Oracle登入超級用戶問題 【筆記】Oracle登入超級用戶問題-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】伺服器和客戶端連接知識 【筆記】伺服器和客戶端連接知識-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】Linux系統常用命令 【筆記】Linux系統常用命令總結-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言核心知識點相關總結(四) 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言核心知識點相關總結(三) 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言核心知識點相關總結(二) 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言核心知識點相關總結(一) 提示信息 - 黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】深度分析多維數組取址與指針的賦值關係 【筆記】深度分析多維數組取址與指針的賦值關係-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】9個冷門的C語言問題 【筆記】9個冷門的C語言問題-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】GTK學習之旅:簡介+環境搭建 【筆記】GTK學習之旅:簡介+環境搭建-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】繼承與虛函數結合過程中的內存釋放問題 【筆記】繼承與虛函數結合過程中的內存釋放問題-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】webbench-1.5:源碼閱讀筆記 【筆記】webbench-1.5:源碼閱讀筆記-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】頭腦風暴中的遞歸樹分析 【筆記】頭腦風暴中的遞歸樹分析-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言中函數參數處理順序-從右向左 【筆記】C語言中函數參數處理順序-從右向左-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言雜談——黑暗的內存管理 【筆記】C語言雜談--黑暗的內存管理-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言遊戲源代碼分享(詳細注釋)之計算器 【筆記】C語言小遊戲源代碼分享(超詳細注釋)之計算器-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言遊戲源代碼分享(詳細注釋)之迷宮遊戲 【筆記】C語言小遊戲源代碼分享(超詳細注釋)之迷宮遊戲-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言遊戲源代碼分享(詳細注釋)之黑白棋 【筆記】C語言小遊戲源代碼分享(超詳細注釋)之黑白棋-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言遊戲源代碼分享(詳細注釋)之掃雷 【筆記】C語言小遊戲源代碼分享(超詳細注釋)之掃雷-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

【筆記】C語言遊戲源代碼分享(詳細注釋)之貪吃蛇 【筆記】C語言小遊戲源代碼分享(超詳細注釋)之貪吃蛇-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

以上全部經驗篇文章合併下載 https://pan.baidu.com/s/1pLTMIcb

五、C/C++學習路線圖——面試篇

面試篇

你學歷低,為什麼要錄用你? 【面試】你學歷低,為什麼要錄用你?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

如何介紹簡歷中的項目? 【面試】如何介紹簡歷中的項目?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

你有什麼優劣勢? 【面試】你有什麼優劣勢?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

如何進行自我介紹? 【面試】如何進行自我介紹?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

你為什麼選擇我們的公司? 【面試】你為什麼會選擇我們公司?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

面試官如何評判應聘者的工資? 【面試】面試官如何評判應聘者的工資?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

如何才能打動面試官? 【面試】如何才能打動面試官?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

如何介紹簡歷中的項目? 【面試】如何介紹簡歷中的項目?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

HR貶低項目時你該怎麼辦? 【面試】HR貶低項目時你該怎麼辦?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

HR指責要薪太高怎麼辦? 【面試】HR指責要薪太高怎麼辦?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

你會在我們這家單位呆多久? 【面試】你會在我們這家單位呆多久?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

如何做才能在面試中不緊張? 【面試】如何做才能在面試中不緊張?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

你是如何學的C/C++? 【面試】你是如何學的C/C++?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

未來五年的規劃是怎樣的? 【面試】未來五年的規劃是怎樣的?-黑馬程序員IT技術論壇 - 黑馬程序員快速入學必看論壇

以上全部面試資源合併下載 https://pan.baidu.com/s/1bpj3v6B


瀉藥。
首先,你不必鄙視java。java優化的好的時候,在特定情境下的數值計算效率不見得比C++慢。
然後,C++作為比較難、裸奔特性多的語言,你學了之後轉別的會非常容易。
然後,儘管受到Go、Rust這些新語言的競爭,但C++已有的基礎設施過多,不太可能在可預見的將來被淘汰。


以應用為導向,不要被語言綁架,一切效率為上。性能相關的用C/C++,其餘的怎麼方便開發怎麼來。


c++在後端系統編程領域依然有用武之地,廣告引擎,搜索引擎,推薦引擎,大部分公司都選擇c++來開發。


推薦閱讀:

如何獲取第一手的安全資訊?
為什麼中國要用思科的通信解決方案,為什麼不用華為中興?
如何看待信息安全/網路安全等圈內的浮躁現象?
滲透入門該看什麼書和雜誌?
coolfire 的第一篇文章中的遠程登錄進入主機用的是win系統中的 「Telnet」 嗎?

TAG:前端開發 | 逆向工程 | 遊戲開發 | 信息安全 | C |