C++难学吗?为什么难学?如何去学?

2023-05-16

C++难学吗?为什么难学?如何去学?

经常上网,发现最多人问的问题就是C++难不难学。而得到的回答却基本上是说很难学,甚至有说要两年才算入门。我开始是学VB的,现在转学QT。谈谈我对C++的看法。

1、入门兴趣和方向

大家知道,VB是一门非常容易入门的编程语言。不需要太多的知识,只学几天就可以做出自己的小程序。因为它所见所得,只需要通过拖拉控件,就马上可以看到效果。我们学编程为了什么?肯定是为了做一个软件,比如QQ,扫雷这些。这些才是我们对软件的初始认识和基本概念。VB马上可以给你这些体验,瞬间调动起了初学者学习的兴趣。而反观C++,包括课堂上老师讲的,或者各种视频。基本上就是个黑白的控制台,然后一直在语法上转来转去。最后都不知道学了这些有什么用,对于何时才能做个小软件也没个底。当然,有VC这些软件也是可以马上搞个软件出来的。但是得一堆的类,一堆的代码,并没有直观的整体界面效果。对于初学者来说,我只是要个简单的东西,VC咋就那么啰嗦呢?初次接触就已经心生畏惧。可以说,C++缺少了一个好的IDE.。这也是我当初考虑学习VB还是VC时最后选择了VB的原因。后悔的事就不讲了,说多了都是泪。

2、教材及细节

网上找一下VB的教材,都是一些基本的语法,从来不介绍更为底层的实现和细节。更多的是在教你如何绘制界面,如何快速完成一个软件。而C++的书,都是在详细展现每个细节,每个语法。光语法书就有上千页这么厚厚一本。然后还告诉你,这只是基础的东西。这会让很多初学者立马晕倒。VB教材让你学习你所关心的东西,而C++教材只是在尽它职责讲述每一个细节标准。一个是故事书,一个是新华字典。一个让你马上上手,一个让你知道得太多了。

3、功能

以上说的比较,并不是说C++有多差,实际上C++所能干的事情更为便捷和人性化。但也正是因为它的强大,让人学习的东西更多。但我们真的有精力和有必要全部都学精吗?对于初学者来说,本身就缺少一种方向。一下子就告诉他要学这么多东西,有些甚至用不上的东西这本身就是一种负担。

4、一些经历

曾经给人做过不少机器操作的培训,操作工基本上是小学初中文化。刚开始,我为了让他们尽快掌握机器的操作,把每一步都讲得很详细,就怕他们不理解,不会用。但是结果却是让他们觉得我们东西很难用,那么复杂,然后电话不断。最后,我改变了方法,只告诉他们一二三点,直接干。反而没什么问题。就算有问题,他们自己也会琢磨,搞不定还有技术支援。

5、如何更好地学习C++

这里提供一些个人学习的参考

1)、不要相信先学xx语言再学C++会更快的方法,要学什么语言就直接去学。没什么曲线救国的捷径。程序员换语言会脱层皮。

2)、选择一个好的IDE,先让自己培养起学编程的兴趣,个人推荐用QT,有VB那么直观,有VC那么强大。

3)、语法书如果有精力,就看完。如果没精力,或者觉得太无趣的时候,就看前面一半就行了。遇到问题直接网上查资料,当你有时间,有兴趣的时候再接着看。把C++书当新华字典就好了。

4)、明确自己的学习方向,看教材时有的放矢。比如自己是干网络的,就直接看与网络有关的。如果是干数据库的,就直接看数据库方面的,其它通通跳过。

5)、最主要的还是实践出真知。自己定一个目标,规划一个需求,围绕这个需求建立工程进行学习。比如我要写一个“个人理财工具”,等等。如果嫌这个工程太小,那就直接干你现在需要的工作。比如我就是直接用QT进行程序移植。

6)、最重要的一点,不必纠结于自己是否精通,只要在乎学的东西是否够用。学无止境,从来没有人敢说自己是精通的!

2016-09-18

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++难学吗?为什么难学?如何去学? 的相关文章

  • 【蓝牙系列】蓝牙5.4到底更新了什么?(1)--- PAwR

    蓝牙系列 蓝牙5 4到底更新了什么 xff08 1 xff09 PAwR 一 背景 蓝牙技术联盟最近发布了蓝牙5 4的核心规范 xff0c 蓝牙5 4规范的主要改进之一就是实现了单个接入点与数千个终端节点进行双向无连接通信 xff0c 这一
  • UP Squared Board,工业级创新开发板,为您的物联网应用注入升级能量

    研扬科技自推出UP Board xff08 世界首创 Intel 平台信用卡大小开发板 xff09 以来 xff0c 便成功于业界打开名号 xff0c 后续 xff0c 研扬持续开发 UP 系列产品 xff0c 至今 xff0c 除了 UP
  • 【蓝牙系列】蓝牙5.4到底更新了什么(2)

    蓝牙系列 蓝牙5 4到底更新了什么 xff08 2 xff09 一 背景 上一篇文章讲了蓝牙5 4的PAwR特征 xff0c 非常适合应用在电子货架标签 xff08 ESL xff09 领域 xff0c 但是实际应用场景中看 xff0c 只
  • 【转载】【Nordic博文分享系列】详解Zephyr设备树(DeviceTree)与驱动模型

    详解Zephyr设备树 xff08 DeviceTree xff09 与驱动模型 转载自nordic半导体微信公众号 1 前言 Nordic最新的开发包NCS xff08 nRF Connect SDK xff09 相对于原来的nRF5 S
  • 感受一下SPL06气压计+APM三阶互补的高度融合

    不得不说 xff0c spl06气压计很强 xff0c 原始数据也比较干净 xff0c 短时间可以保持在30cm内浮动 xff0c 滤波后在10cm内浮动 就是这么夸张 使用APM的三阶互补滤波融合出 高度 xff0c 速度 xff0c 效
  • 6种串口协议的实现

    串口协议开发 以下解析范式都是采用数据队列的形似来存储 xff0c 并且根据设备运行速度差异 xff0c 还需增加数据包队列来存储解析完毕的数据包 1 范式一 固定长度 无校验 0x6B 20字节 0xB6 上面数据中有一个帧头0x6B x
  • html页面实时刷新显示服务器数据

    在上一篇中我说到浏览器和服务器交互数据 xff0c 是实现了服务器发数据给浏览器 xff0c 并在页面上显示 xff0c 但是是通过按钮点击刷新的 xff0c 而且数据是和html页面一起发过来的 xff0c 在这里我是数据放到页面数组里
  • 平衡小车之家客服真差

    我同事送了我一台直流电机平衡车 xff0c 然后同事又买了一台步进电机平衡车 都是在平衡小车之家买的 xff0c 好好看看下面的图片 最近在研究同事的步进平衡小车 xff0c 然后跑去问一下客服步进电机的参数 xff0c 一看我说 xff0
  • C++编译流程

    C 43 43 编译流程 C C 43 43 是编译型高级语言 xff0c 程序要执行 xff0c 必须要有编译器和链接器 编译过程分为四步 xff1a 预处理 编译 汇编 链接 1 预处理 读取源代码并对其中的以 开头的指令和特殊符号进行
  • 卡尔曼滤波 -- 从推导到应用(一)

    前言 卡尔曼滤波器是在估计线性系统状态的过程中 xff0c 以 最小均方误差为目的而推导出的几个递推数学等式 也可以从贝叶斯推断的角度来推导 本文将分为两部分 xff1a 第一部分 xff0c 结合例子 xff0c 从最小均方误差的角度 x
  • 卡尔曼滤波 -- 从推导到应用(二)

    该文是自我总结性文章 xff0c 有纰漏 xff0c 请指出 xff0c 谢谢 白巧克力 这部分主要是通过对第一部分中提到的匀加速小车模型进行位移预测 先来看看状态方程能建立准确的时候 xff0c 状态方程见第一部分分割线以后内容 xff0
  • LQR 的直观推导及简单应用

    本文主要介绍LQR的直观推导 xff0c 说明LQR目标函数J选择的直观含义以及简单介绍矩阵Q R的选取 xff0c 最后总结LQR控制器的设计步奏 xff0c 并将其应用在一个简单的倒立摆例子上 假设有一个线性系统能用状态向量的形式表示成
  • STM32学习路线-长图

    最近好好整理了一下学习STM32的路程 xff0c 做成了一个长图 xff1a STM32学习路线 xff0c 供初学者们参考一下
  • ROS 教程之 vision: 摄像头标定camera calibration

    在上一个ROS教程视觉文章中 xff0c 我们使用usb cam包读入并发布了图像消息 xff0c 但是图像没有被标定 xff0c 因此存在畸变 ROS官方提供了用于单目或者双目标定的camera calibration包 这个包是使用op
  • ROS 基础: 在同一个节点里订阅和发布消息

    在一些应用中 xff0c 可能有的人需要在同一个节点中实现订阅一个消息 xff0c 然后在该消息的回调函数中处理一下这些数据后再发布到另一个topic上 ROS answers中也有人有相同的疑问 xff0c 这里贴出Martin Peri
  • ROS : 修改ROS源代码(overlaying package)

    ROS官方或者其他个人提供了很多package供大家使用 xff0c 但是随着学习的深入 xff0c 很多人可能想去修改这些package的源代码 xff0c ROS提供了一种称之为overlaying的机制 它允许 ROS原有安装的pac
  • graph slam tutorial :从推导到应用3

    为了更好地理解graph based slam的过程 xff0c 本文以二维平面的激光SLAM为例子 xff0c 先简单介绍如何根据传感器信息构建图 xff0c 即图优化的前端 xff08 front end xff09 然后再针对上篇博客
  • graph slam tutorial : 从推导到应用1

    前言 SLAM问题的处理方法主要分为滤波和图优化两类 滤波的方法中常见的是扩展卡尔曼滤波 粒子滤波 信息滤波等 xff0c 熟悉滤波思想的同学应该容易知道这类SLAM问题是递增的 实时的处理数据并矫正机器人位姿 比如基于粒子滤波的SLAM的
  • graph slam tutorial :从推导到应用2

    在上一部分中通过一个例子大致了解了graph based slam的优化过程 在本篇博客中将提升一个层次 xff0c 对图优化的求解过程进行推导 由于博文关注的在图构建好以后 xff0c 如何调整机器人位姿使误差最下 因此 xff0c 本文
  • graph slam tutorial : g2o 的使用

    g2o全称general graph optimization xff0c 是一个用来优化非线性误差函数的c 43 43 框架 如果阅读了前几篇graph slam tutorial的博客 xff0c 再去读 g2o xff1a a gen

随机推荐

  • Monocular slam 的理论基础(1)

    前言 LSD SLAM和ORB SLAM的出现 xff0c 使得单目slam最近成为了研究热点 单目SLAM一般处理流程包括track和map两部分 所谓的track是用来估计相机的位姿 而map部分就是计算pixel的深度 xff0c 如
  • Monocular slam 中的理论基础(2)

    三角法求深度 xff08 triangulation xff09 在知道了相机的轨迹以后 xff0c 使用三角法就能计算某个点的深度 xff0c 在Hartley的 Multiple view Geometry 一书中第10章 第12章都是
  • svo: semi-direct visual odometry 论文解析

    SVO 从名字来看 xff0c 是半直接视觉里程计 xff0c 所谓半直接是指通过对图像中的特征点图像块进行直接匹配来获取相机位姿 xff0c 而不像直接匹配法那样对整个图像使用直接匹配 整幅图像的直接匹配法常见于RGBD传感器 xff0c
  • 想精通单片机开发,这些必备基础知识不可不掌握

    总体谈一谈对单片机学习的看法 1 我从不说51是基础 xff0c 如果我这么说 xff0c 也请把这句话理解为微机原理是基础 2 对51单片机的操作本质上就是对寄存器的操作 xff0c 对其他单片机也是如此 库只是一个接口 xff0c 方便
  • 从零开始手写 VIO

    前言 最近和高博合作推出了一个关于 VIO 的课程 xff0c 借此博客推荐下 这个课程的图优化后端是我们自己写的 xff0c 仅依赖 Eigen 实现后系统的精度和 ceres 以及 g2o 不相上下 个人感觉这个课程还是能学到不少东西
  • 如何用示波器测量串口波特率

    例如波特率为9600理解为 xff1a 单位时间内传输9600个码元 xff08 位 xff09 1s内可以传输9600位数 假如要测量波特率为9600 xff0c 则每一比特位的时间为 xff1a 1 9600 61 104us 一般示波
  • PHPstorm2018汉化方法

    PhpStorm 2018汉化包下载地址 xff1a https pan baidu com s 1sAPfpPrN3IvZSyGU2kFWmQ 8 将安装目录lib下的resources en jar文件删除 xff0c 然后将压缩包中的
  • CMake学习(3)—— 使用add_subdirectory()添加外部项目文件夹

    一般情况下 xff0c 我们的项目各个子项目都在一个总的项目根目录下 xff0c 但有的时候 xff0c 我们需要使用外部的文件夹 xff0c 怎么办呢 xff1f 例如 xff0c 在目录cxx utility example内的CMak
  • docker高级篇

    docker高级篇 一 dockerfile解析 1 dockerfile是什么 dockerfile是用来构建docker镜像的文本文件 xff0c 是有一条条构建镜像所需的指令和参数构成的脚本 2 dockerfile常用保留字指令 F
  • 死锁

    死锁 xff1a 死锁是指两个或两个以上的进程进在执行过程中 xff0c 由于资源竞争或由于相互通信而造成的一种阻塞式现象 xff0c 如果没有外力影响 那么它们将永远的持续下去 xff0c 此事称系统产生死锁现象 xff0c 这种永远互相
  • pygame入门教程-基础篇

    1 画布surface 我们先启动一个窗口 span class token keyword import span pygame pygame span class token punctuation span init span cla
  • LeetCode刷题(废弃)

    重要提示 xff1a 该博客不再更新 xff01 最新文章请参考LeetCode系列 xff01 为了更好地巩固算法知识 xff0c 打下扎实的计算机基础 好吧 xff0c 实在编不下去了 其实是闲着没事儿做 xff0c 不如动动脑 xff
  • 基于STM32的GPS模块驱动(AIR530)

    一 概述 由于做项目要用到GPS定位 xff0c 于是在某宝购买了这款GPS模块 项目采用的MCU是STM32 废话少说 xff0c 进入正题 二 GPS模块简介 Air530 模块是一款高性能 高集成度的多模卫星定位导航模块 体积小 功耗
  • UCOSIII中的任务调度和任务切换

    1 基本概念 任务调度的思想是 xff0c 几乎每时每刻让优先级别最高的就绪任务处于运行状态 xff0c 它由任务调度器来完成这个工作 xff08 任务级调度器OSShed 和中断级调度器OSIntExit xff09 任务切换 xff0c
  • 嵌入式开发者都该了解的10大算法

    算法一 xff1a 快速排序法 快速排序是由东尼 霍尔所发展的一种排序算法 在平均状况下 xff0c 排序 n 个项目要 n log n 次比较 在最坏状况下则需要 n2 次比较 xff0c 但这种状况并不常见 事实上 xff0c 快速排序
  • 蓝桥杯备赛——第八届省赛(模拟升降控制器)

    第八届省赛题目的控制逻辑相比之前更加复杂 xff0c 需要花一定的时间来理清逻辑 xff08 利用状态机 xff09 虽然之前对状态机有所了解 xff0c 但这是我第一次使用状态机 注 xff1a 1 PWM输出 xff1a PA6 TIM
  • C++实现http客户端连接服务端及客户端json数据的解析

    上一篇链接 xff1a https blog csdn net hfuu1504011020 article details 88785448 上一篇中说到Unicode转utf8格式的过程 xff0c 其中谈及到http以及json数据的
  • Linux版本 网络调试助手 发布

    Linux版本 网络调试助手 发布 Windows上有些小的调试助手软件使用起来很方便 xff0c Linux上也想用 还不如何自己写一个 xff0c 但是会写代码 xff0c 但并不会设计软件 那么就参考了一款Windows下的名字叫 T
  • No rule to make target错误解决方案

    报错 xff1a No rule to make target My Wall Paper2 img png needed by debug qrc resource cpp Stop 解决方案 xff1a 把 qrc文件删了新建一个res
  • C++难学吗?为什么难学?如何去学?

    C 43 43 难学吗 xff1f 为什么难学 xff1f 如何去学 xff1f 经常上网 xff0c 发现最多人问的问题就是C 43 43 难不难学 而得到的回答却基本上是说很难学 xff0c 甚至有说要两年才算入门 我开始是学VB的 x