白はどのようにC ++を学びますか?

白はどのようにC ++を学びますか?
だから、ピットに白の喧騒からC言語、として今日のハイレベルなC ++ゲーム開発エンジニア、高度なC ++サーバーエンジニア、プロジェクトマネージャ、テクニカルディレクターの多くに成長するために、私はダニエル・学習経験と共有したいですそして、体験!

Linusがかつて言った:「C ++は恐ろしい言語であり、そしてよりひどい、それはそれのために規格外のプログラマの多く使用されているよりも、」世界で最も困難な非C ++プログラミング言語はああ、ほかならないかもしれませんビットは誇張......しかし、あなたは覚えている、高い難易度は、金の含有量と競争力が高いほど、より多くのあなたは地域や他の人を分離することができますので、あなたは非常に慎重なスタートを持っている必要があることを意味するが、態度、およびハードトレーニングスーツ獣の一種であるC ++は見て
あなたは、C ++を探している環境を学習し、自己の困難に遭遇した場合ならば、最後に私たちのC ++学習サークルに参加することができ、私はそれに参加したクリックし、保存されます多くの時間は、研究で発生した問題の数を減らします。
白はどのようにC ++を学びますか?

あなたは気まぐれでちょうどだと本当に言語を学びたいと心の中で沈むなかったので、C ++を学ぶことが苦痛であるので、私は、学ぶことをお勧めしていないのであれば、何の関心は、その後、学習プロセスは苦痛と苦しみないだろう!

しきい値と金はあなたがC ++を学ぶたら、あなたのために多くの言語は、それがために難しいことではありませんので、と言うことができる、共存します。

通常は、すべての学習C ++初心者の学生、以下の状況:

白はどのようにC ++を学びますか?
1.ピュア白(非コンピュータの専門家は、任意のプログラミング言語を学んだことはありません)

2. C言語との接触はなく、学ぶことがなかったです

第一及び第二のケースでは、私はCはC ++が自信を戦うために非常にイライラされます学ぶ、学ぶことがなかったならば、あなたはステップバイステップでできる、Cでの強固な基盤を築くようにしてください示唆、学習する方法がわからない私たちに従うことができ、我々は、ワンストップを持っていますプログラムを学びます!

3.Cは非常によく、言語を学んできたが、Cと接触していなかった++

Cでの強固な基盤と、お祝いの言葉は、あなたがC ++の学習を開始することができます

4.C ++の基本的な文法を学び、その後、高度な学びたいと思っていますか?

C ++サーバ内のゲーム開発経験の私の長年のでは、企業ので、いくつかのポイントに過ぎないの開発者のための本当の検査要件:

C ++データ構造、プログラムの中核だったアルゴリズム、様々なアルゴリズムを、並べ替えリンクリスト、キュー、スタック、の最も基本的に焦点を当てました。

C++泛型编程,模板,各种项目中存在大量模板设计,特别是框架,

C++多线程,线程同步,线程池。 99%的项目一定用到,列为重点。

Socket网络编程,各种并发网络模型(Select WSASelect IOCP)

C++静态库、动态链接库dll ,开发项目中90%、SDK中一定用到,无需精通,但必须掌握。

Win32 API 高级编程 , 重点,真实企业项目中大量用到win32 API ,一定有相关的经验。

5.C++进阶知识也会了,你需要学习基础框架。

MFC框架 。 可选,虽说MFC在windows桌面运用中因为其复杂性越来越显得过时了。但是其OO思想还是发挥的淋漓尽致,可以了解熟悉下,各种控件、对话框、单文档程序、多文档走一遍,不仅可以掌握桌面运用开发,还可以再次巩固面向对象的理念,总之MFC是个大杂烩,总会学点东西的。

QT框架. 跨平台的应用程序和用户界面框架,linux与windows桌面应用开发的优秀框架。

GTK+(GIMP Toolkit) GIMP 一个功能强大跨平台的图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。

STL库,优秀的跨平台模板库STL 包含大量的STL容器,算法和函数等。

Boost库 一个可移植、提供源代码的C++库,作为STL标准库的后备,是C++标准化进程的开发引擎之一,优秀而高效的模板与算法

6.相关开发工具、无需深入、会使用即可。

磨刀不误砍柴工,打仗还得有枪,下面最常用的工具你必须掌握:

集成开发环境: VS2010 ~ VS2017 ,越来越强大的IDE。

代码配置管理工具: 最简单易用的SVN 或 最流行的Git

7.有了以上6个方面的基础,说明你已经具备企业开发的能力了。

但是每一行业都有其专注的技术,所以,你需要开始细分方向了,仔细思考你究竟想从事哪个行业,然后对号入座,

此刻就是术业有专攻了!一位崭新的C++大牛即将诞生......

小白该如何学好C++?
以下附上真实企业中相应岗位需要掌握的技能:

【流媒体开发工程师】

熟悉视音频编解码算法(如mpeg-4、H.264、H.265、G711、AAC等);

熟悉流媒体协议 RTP/RTCP , RTMP, RTSP, SIP ,HLS, HDS, TS;

熟悉开源多媒体项目 FFmpeg、GStreamer、 vlc、live555 ,nginx-rtmp , WebRTC、DSS、 ,darwin ;

熟悉流媒体服务器 Red5、FMS、Wowza等

熟悉多媒体容器封装标准mp4, FLV , TS ,MPEG2-TS,mxf,mov 等流媒体文件封装协议

【游戏开发工程师】

熟练应用Cocos2d-x引擎,熟悉c++/cocos2dx开发模式;

Lua/Python脚本开发经验者优先。

OpenGL/DirectX等工作经验者优先

商业引擎 Unity 3D ,CE3和 UE4 , (Unreal Engine 4, CryENGINE 3 );

【服务器开发工程师】

有高性能高并发系统的开发经验;

云风skynet (基于C跟lua的开源服务端并发框架)

IOCP , epoll

具有分布式负载均衡相关经验

lua ,python语言

【嵌入式开发工程师】

MTK平台 (台湾联发科技 MediaTek)采用的是Nucleus OS, 嵌入式实时操作系统,使用标准C开发,其中Nucleus Plus提供源代码下载。

vxworks、uc/OS等嵌入式操作系统开发

熟悉嵌入式CPU如STM8、STM32系列处理器的架构和应用;

精通ARM、AVR、STM32、8051、MSP430中一种MCU的结构和编程;

至少精通ARM、AVR、STM32、8051、MSP430中一种MCU的结构和编程;

熟练掌握ARM、MCU等控制器内部原理和配置

ZigBee是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。

【人工智能工程师】

数学好

有基于Opencv开发项目经验者优先

人工知能、学習の深さ、パターン認識、機械学習/マシンビジョンアルゴリズム開発/画像認識/音声認識/自然言語処理;

物体検出、認識アルゴリズム、高速R-CNN、faceネットアルゴリズム

などTensorFlow、Torth、カフェ、Keras、Theano、スパーク、OpenAI、Mxnetなどのオープンソースプラットフォームを学ぶ身近深さ、

学習統計的機械(など深いニューラルネットワーク、ブースト、グラフモデル、確率と統計、最適化手法、など)

コンピュータビジョン(例えば、画像認識認識、顔検出及び認識、オブジェクト検出および追跡、OCR、拡張現実、画質評価、画像分割エンハンスメント)

機械学習アルゴリズムや、SVM、ニューラルネットワーク、機械学習、数学的モデリング、特徴抽出およびデータマイニングの深さ、そしてCNN、RNNと他のモデルの深さの研究のような大きなデータマイニングアルゴリズムに精通。

[]ビッグデータ・エンジニア

このようにHadoop、HBaseの、スパーク、ハイブ、嵐、Mahoutのより良いとしてお馴染みのビッグデータプラットフォーム

Tomcatの/のweblogic /のWebSphereミドルウェアを使用し、クラスタ構造を最適化する方法を知っています。

MongoDBの/ Redisの/ Ehcacheの他の一般的な技術に精通しています。

MapReduceの、スパーク、その他のHadoopベースのデータマイニングアーキテクチャおよび分析ツールに精通しています。

Matlabの、SPSSといくつかの一般的に使用されるマイニング解析アルゴリズムに精通している他のソフトウェアツールに精通。

共通のマスタデータマイニングアルゴリズム(ベイズ、決定木、 - K-平均、SVM、ロジスティック回帰、時系列など)

マスタデータマイニングツール一般的に使用されるソフトウェア:SPSS / MATLAB /ウェカなど

最後の白い送信します、という自身の経験を語った:学習を主張する、継続的な学習、1日あなたは本当に大きな牛になります!

おすすめ

転載: blog.51cto.com/14209412/2404184