• C++程序员入门怎么学?


    1 背景

    经常听到不少朋友在吐槽C++太难学了,说什么从入门到放弃等等;做为一名C++老兵,从2003年开始入坑C++到今年2023年,整整20年的C++开发从业者的我,今天尝试给有兴趣从事C++开发的程序员提些建议,希望可以帮到大家,免的像N多年前我一样,走了太多的弯路。

    本文章假定读者是完全没有学过任何C++语法基础的,比如某些大学生、甚至高中生,或者是做过一二年其他开发语言的程序员,了解过一些开发的概念,比如变量、函数、编译、执行等等。

    所以如果读者您是一个开发方面的高手,请直接忽略本文章的内容,因为本篇文章的核心目标就是【C++程序员入门怎么学?】,是讲C++、以及如何快速入门的。

    2 C++程序员需要达到什么水平才算入门?

    需要怎么入门,那需要回答一个问题:C++程序员需要达到什么水平,或者需要学习哪些基本的知识才算入门?

    我个人认为,只要你达到以下水平,即可算入门,可以开始参加C++开发相关工作,并参与到不同的项目中:

    • 会搭建C++开发环境,比如VS2019,或者QT;并学会IDE开发工具的基本使用,包括编译、执行、调试、新建类、新建文件等:
    • 熟悉基本的C++语法和概念;比如各种数据类型、变量、常量、指针、函数、数组、struct结构、class类等;还有if、for、switch、while语句和各种C++运算符等等;
    • 最后会一些标准类库的使用:如std::string(字符串)、std::ifstream/std::ofstream(文件读写)、std::vector(动态数组)、std::list(双向链接)、std::map(关联容器)等

    3 怎么学?

    知道要学习哪些知识点之后,接下来是如何学?

    个人建议是到网上找一些简单但带实战例子的课程,或者视频,跟着导师一个个实例写完代码,编译、执行、调试;其实C++学习真心不难,只要方法正确,二三个月完全可以入门,入门之后再根据项目需要有针对性学习对应知识点即可;

    关于C++入门课程,这里做个小广告,大家有兴趣的可以点击这个链接:C++程序员必修第一课【C++基础课程】,跟着这个课程一起学习。

    4 入门之后的学习路径

    很多人【从入门到放弃】就是因为C++入门之后,不知道怎么提升,感觉会写C++代码了,但不知道能做什么?怎么开始?或者怎么去学习?

    下面我列几项在当你完全入门之后,应该学习的方向,大家有针对性跟着学习即可,有兴趣的,可以关注本博客,后面我会持续出一系列C++、QT、QML、MFC等相关的培训课程,希望可以帮到大家。

    入门后的学习方向:

    • 如果做GUI界面开发;可以学习下QT、QML或者MFC,QT/QML是跨平台的,MFC只能在Windows上跑;
    • 如果用到多线程;学习下std::thread和std::mutex的使用即可;
    • 网络通讯相关的,包括TCP、UDP;如果是VS开发环境,需要调用windows api,是WinSock2.h相关的函数;如果是QT开发环境,学习使用QTcpServer、QTcpSocket等类的使用;另外还有开源跨平台的方案如 boost.asio 等;
    • 数据交互需要用到各种协议;所以需要学会各种xml、json这二种最基本最通用的协议,这些都标准库没有直接使用的类库,需要找开源类使用
    • 如果你做一些信息管理系统的,就是一些增、删、改、查的,会用到数据库的,那就需要学习一下关系型数据库的基本概念,还有SQL结构化查询语言;可以从sqlite、mysql这些开源数据库入门;更多的还有很多类似key-value的NoSQL,在互联网公司会用到很多;
    • 一些C++高级用法,有时间可以慢慢学;比如智能指针、模板编程、lambda表达式等等;
    • 如果要成为C++高手,大学的数据结构与算法需要找时间学习一下,一些类似集合、数组、链接、关联数组等概念要熟悉,这样在实际使用中,就可以知道什么场景需要什么样的类库;

    更多学习内容就实在太多了,看你公司业务需求和项目需要;总结一句话,基本都是学习各种开源库的的编译、调用、调参而已;大家有选择重点选择某个方向发力即可,不可能什么都学会;例如ffmpeg音视频编解码相关、opencv视觉算法相关等等。

    最后做个总结,只要方法正确,二三个月零基础到C++程序入门是完全没有问题的!

    好了,以上就是C++程序员入门怎么学的所有内容,希望大家早日入坑C++开发行业!

  • 相关阅读:
    工行里的数字员工是怎么来的?
    LeetCode|股票问题|121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II、123. 买卖股票的最佳时机 III
    如何控制工业设计公司的设计效果?
    2022年7月系统集成项目管理工程师认证招生简章
    深度解析链动2+1模式,颠覆传统卖货思维?
    HTML+CSS静态网页设计:(房地产网站设计与实现6页)
    希望你多出去看看,别活在短视频和文字里!
    BSA/HSA表面修饰二甘醇酐,人血清白蛋白HSA、牛血清白蛋白BSA偶联二甘醇酐
    天锐绿盾企业内网安全管理软件
    社区系统项目复盘-7
  • 原文地址:https://blog.csdn.net/yanghz/article/details/133770934