- 博客(30)
- 资源 (5)
- 收藏
- 关注
原创 Day 08 2020.09.02 重头戏结构体和类
类,是C语言与C++最大的区别,这也是C++能做到面向对象编程的原因。为了说明类,首先要讲明白什么是结构体,类有点类似于结构体的功能拓展,这也就使得能够自定义类的C++在编程方面优于C的原因(当然,这其中还有很多适配于类这个东西的其他技术,如类的继承、多态...)结构体,形如//定义一个人的结构体,其中包括姓名、性别、年龄、身高、体重信息struct Human{string name;//要包含string类的头文件#include <string>string gen
2020-09-02 18:22:42 319
原创 Day 07 2020.09.01 函数重载
昨天学习了函数封装与调用,并探究了函数调用的数据传输方式:传值、传址、传引用。今天又学到了一个重要的关于自定义函数的知识:函数重载为什么会有重载这个东西呢?看下面这个例子:我们希望计算一个图形的面积,但是又不想每次调用时还要知道应该调用那个函数(因为,如果没有重载,我们可能会这样给这些函数起名字:areaOfTriangle、areaOfRectangle、areaOfCircle....)这样会使得调用这些函数的人感到很厌烦。函数重载的意义就在于:函数可以重名,他们可以实现相近的功能(一.
2020-09-01 19:05:01 320
原创 Day 06 2020.08.31 函数封装及调用
学会了函数的封装和调用后,在我们编程如何封装出一个好的函数,让使用者方便使用呢?首先考虑作为一个调用我们封装的API函数的人,他希望什么?一般说来,作为调用函数的人,他并不需要知道这个函数具体实现细节(用了什么精巧的算法、多么省时的数据结构)。函数的设计总是用来完成某一任务的,使用者只需要关注给什么样的输入可以得到自己想要的输出就可以。这就是黑箱的思想以这种思想设计函数封装,称为“信息隐藏”,这样实现函数封装的过程也被称为"函数抽象"。这三个称呼其实就是我们封装函数的思想,为了实现这样一个思
2020-08-31 23:49:41 318
原创 Day 05 2020.08.30 函数基础 传值、传址、传引用
今天看完了第三章:函数的基础后悔在一开始学习C++时读到这本书,虽然现在可以熟练地使用函数声明、定义,但对于其中一些基础的东西一直不是很明白,但非要我说哪里不明白吧,还说不出来。就是觉得没有系统地学习过,感觉心虚。今天系统的学习了这部分后,我还是说不上来我又学到了什么。。。但是就是觉得莫名的心安。(揣测了一下,应该是地基不牢,所以总害怕自己盖得房子会倒的那种感觉)声明一个函数的方式,形如 int 2Sum(int x,int y); ,就是函数的定义。1.第一个int 声明了该函数的返回值类.
2020-08-31 21:59:42 206
原创 Day 04 2020.08.29 fstream对文本读写操作
不论是什么理由,都不是你停下学习的理由。人的惰根性太可怕,只要你想找理由,总会有的,所以不要给自己退路!!即使是周末,也不能停止脚步!!奥里给~~今天把流程控制这个章节给看完了,自认为这部分以前学的还不错,所以翻的比较快。这部分主要是讲了if-else、switch-case、do-while、for这部分没啥好说的,逻辑的理解。不过在这部分结尾,还是学到了一点以前比较迷糊的东西。一个是fstream对文件读写另一个就是咱们新建了一个工程编译后文件夹下都是什么?依然废话不多说,上代码#
2020-08-30 00:51:18 500
原创 Day 03 2020.08.28 建立自己的工程模板
重新开始学习C++基础,虽然每次学到的东西不多,但偶有所得,就能感觉自己又进了一步。不知道大家有没有过这种这种想发,每次做个测试或者开个工程,都要新建一个空项目,然后添加一个源.cpp文件,然后机械的敲上这样一行代码:#include <iostream>int main(){ return 0;}很无聊,又浪费时间,最终C++代码能力没咋提升,这几行代码敲得6的飞起~~其实C++提供了模板给我们,不过需要我们在新建工程时不选择空项目,而是选择控制台应用程序,我们可
2020-08-28 14:36:23 157
原创 Day 02 2020.08.27 const修饰符作用
今天只看了C++一点点东西,但聊胜于无,进步总比毫无长进要好。记录一下。关于一个很重要的却往往被大家忽略的编程小Tips。话不多说上代码:#include<iostream>int main(){ const float PI = 3.14; float numOfCircle = 3.14; int radius; std::cout << "Enter the radius of the circle (unit is m)"; std::cin &
2020-08-27 19:44:47 172
原创 Day 01 2020.08 26 完美C++
因为不是计算机专业科班出身,对于C++的学习都是来自于研究生期间做项目的需要而自学,本科期间连计算机二级等级考试(C)都考了三次...或许是因为找工作前刷了许多题,找到一份视觉的软件开发的工作,但工作了一段时间后发现自己的C++基础实在是太薄弱,查漏补缺也要知道自己哪里漏哪里缺,对于四处漏风而不自知的我来说,我决定从头学起,会的就学快一点,不懂得就慢一点,争取把基础打牢。开此专栏,记录我的学习。参考书籍《完美C++》,我知道会有大佬要推荐《C++ Primer Plus》,我也看过,前面还能看得
2020-08-26 21:26:39 233
原创 关于各种头文件无法加载问题:无法加载源文件:stdio.h windows.h 等等
网上搜索被人给了一堆答案,各种花里胡哨的方法,反正我是没试成功。经同学提点,其实原因很简单,就是SDK版本不对,大多数出现在直接在自己的电脑上运行别人的程序时出现。解决方法:项目->属性->window SDK 版本 换一个,一般除了你当前使用的版本,都会给你提供另一个选项,那就是适合的版本。OK,解决!!...
2020-08-24 17:12:46 997 1
原创 VS调试时如何跳出for循环?
例如这个程序,如果我单步调试时进入了第116行的for循环那么不论我们是(逐语句)F10还是(逐过程)F11还是(跳出)shift+F11,都无法做到让for循环一次性执行完。解决办法:在for循环外设置断点,如:行125--------->F8跳到下一个断点(即行125),因VS版本而异,有些版本做不到(我的VS2017就不行).更简单的方法:在循环外设置一个断点,ctrl+F10(执行到当前语句),就可以跳到当前设置的断点位置。...
2020-07-10 16:13:52 7882 2
原创 无法打开好多源文件,体现为:include下面有波浪线
大概样子如图,报错编号为E1696。解决方法:1.解决资源管理器中,右键项目名-----属性-----常规-----把windows SDK版本调为10.XXXX,平台工具集改为VS2017(自己的版本,我用的是VS2017)2.再选到VC++目录------包含目录里添加:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0(看自己的版本)\ucrt 目录解决!亲测可用...
2020-07-08 14:38:15 3380 1
原创 关于VS调试时慢,一直显示正在从以下位置加载xxxxxxx.dll的符号:Microsoft符号服务器,尝试取消将禁用后续符号加载。
接上一篇博客,在昨天的调试中,一直很慢,我一直不知道怎么解决。今天试了一下,其实这就是因为我们按照网上所说的的方法,让调试器在调试过程中在Microsoft符号服务器上加载各种符号导致的。其实在调试过程中这些符号不需要加载。所以我们只需要:打开vs的【工具】-【选项】-【调试】-【符号】1、先取消勾选“Microsoft符号服务器”2、清空符号缓存3、确定4、然后重启一下VS2017再打开工程调试就可以了,快如闪电。这样调试估计又会有人出现调试调试着弹出无法加载XXXXX.pdb文件而..
2020-07-08 10:48:42 6470 3
原创 关于无法加载XXXXXX.PDB的问题解决方法
大致的警告类似于这个图,就是程序在编译时没加载到各种pdb文件。其实,这个并不影响我们编译程序,直接ctrl+F5程序依然可以正常编译,麻烦就在于调试时会出现异常中断,或者无休止的让我们加载.DLL文件。CSDN上解决这个问题的方法有很多,大同小异,无外乎这样两步:1.【工具】->【选项】->【调试】->【常规]】勾选“启用源服务器支持”2.【工具】->【选项】->【调试】->【符号】,勾选“Microsoft符号服务器说实话这个方法我试了,然而没..
2020-07-07 16:51:41 8096 2
原创 程序员面试宝典学习笔记04
5.4类型转换 面试题1不要小瞧了这题,十分的有水平,作对很容易,能真正做明白这题的都不是一般人。第十行不用多说,浮点型强制转换为整型,所以结果为1第十一行,输出float类型变量a的地址,这个结果是不确定的,因为每次编译器编译时都会为变量分配不同缓存区的地址第十二行,(int&)a什么意思呢?对比int &a记忆。 ...
2019-09-19 12:55:32 314
原创 程序员面试宝典学习笔记03
5.2 面试题1第一个运行结果为2 1第二个运行结果为1 2分析:这两段代码的不同之处就在for循环里,一个有a++一个没有。要做对这题首先我们要知道,a++是先用a再自加1.而++a是现将a加一再作后续使用,了解了这一点后,我们还要知道for()循环体内部的操作是影响整个main函数的当然也包括for循环体内部。即第一个程序在for循环内判断完后,对a进行了自加1然后...
2019-09-16 09:03:12 568
原创 程序员面试宝典学习笔记02
5.1 面试题2程序的运行结果是:10、10、1、3、1、7、1。分析:1.首先程序开始进入main函数,定义局部变量xyz并对局部变量x进行初始化,初始化值为2。我们在定义变量时可以选择初始化,也可以不初始化。如果不初始化,编译时只会分配对应类型所占空间,没有值。 2.第九行,根据运算符的优先级表(C++ Primer第五版 第147页,自己看),首先执行z...
2019-09-15 16:57:20 246
原创 程序员面试宝典学习笔记01
2019年9月15日,开始了程序员求职路上的第一步--刷题+恶补基础。各种原因导致我一直想要开始却一直延后。现在开始不知道是不是晚了,但不试试一定是没希望的。作为一个学生,别的不敢说,学习能力绝对没问题,拿出高考+考研的精神,还有什么东西是我学不会的???网上大家都推荐程序员面试宝典这本书,今天正好到货(我的是第5版),准备一边刷题一边通读C++Primer这本书一边将自己所学记录下来。俗...
2019-09-15 13:14:55 350
原创 Qt中QTextEdit显示字符串
为了在文本框中显示字符串,我们常用这样两个函数实现:1.ui->recvTextEdit->insertPlainText(temp);//temp为字符串临时储存变量2.ui->recvTextEdit->append().temp;这两种方法是有区别的:append(),有时候会莫名的换行,使得显示很不美观append()函数的英文说明: ...
2019-01-19 10:02:17 16062 1
原创 QT5串口通信
Qt串口通信1.新建工程,基类选择QwidgetNew Project-----Application-----Qt Widget Application-----choose------名称栏填写QtComm(路径不要有中文)--------下一步------下一步-----基类下拉框选择Qwid...
2019-01-19 09:33:38 1180
原创 VS2013工控机间通信
VS2013工控机间通信2018.10.17一、页面布局及加入控件1, 安装好vs2013如图2, 新建一个基于VC++的MFC项目MSCOMM注意:点击确定,然后下一步,这时候要将应用程序类型改成基于对话框。接着下一步到最后一个对话框是将生成的类改成CCommDlg,然后完成4, 将新生成的项目的对话框默认dialog edit删去,如图5,点开右边工具箱...
2018-11-22 19:30:51 571 1
转载 H∞控制
Robust Control System:反馈控制具有承受某一类不确定影响的能力,即在这一类不确定条件下具有保持(系统)稳定性、动态特性(灵敏度)和稳态特性(渐进调节)的能力。非结构不确定性(Unstructured Uncertainty),如外界扰动带来的影响——H∞控制(本文的内容)结构不确定性(Structured Uncertainty)如系统参数的不确定性变化——μ分析与μ综...
2018-11-22 19:21:51 20508
原创 Qt中构建目录与源文件必须为同级目录的解决办法
这个问题一般出现在将程序从一台电脑转移到另一电脑, 路径发生变化,重新构建运行时会出现“QT 构建目录必须和源目录为同级目录”提示,解决办法:1.路径不能出现中文2.点击 project-> 然后 看看Buit directory ,看看这里是不是文字变成了红色, 如果是红色的路径,说明你的路径是错误的, 改一个你自己的路径即可。 ...
2018-10-30 11:10:13 4996
原创 VC学习笔记-MFC的窗口读取与写入
读取:从窗口的编辑框读取字符串,并将其存在str中。方法1、CString str;GetDlgItem(IDC_TEXT)->GetWindowText(str);//IDC_TEXT为要读取的文本框的ID解释说明:GetDlgItem():返回一个指向指定控件或子窗口的指针 GetWindowText():该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓...
2018-06-24 15:13:27 410
原创 一次就好,陪你到天荒地老。vs2013配置opencv2.4.13
vs2013+opencv2.3.14+windows7系统= vision system下载好后,双击进行安装(PS:其实它的安装过程是个解压的过程)。要记住好安装的路径,后边需要。【建议】在英文路径下,不用有中文和空格。============================分割线==============2-电脑系统环境配置在系统属性里Path变量,添加OpenCV的bin路径,见下图:以...
2018-06-16 16:04:37 267
原创 学习笔记 :VC--GPS数据读取和处理中一些函数的使用
分割字符串的AfxExtractSubString函数:例如这样一组GPS接收到的数据:m_gps=$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50 AfxExtractSubString(state,m_gps,2,',');MFC分割 字符串的函数,state分割后的字符串,m_gps待分割的字符串,...
2018-06-15 22:20:12 385
翻译 教你读懂GPS数据
GPS数据解析 NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到设备。 NMEA-01...
2018-06-15 15:37:39 11762
转载 VC MFC字符格式转换
1、VARIANT转COleSafeArray、 COleSafeArray转BYTE型数组在串口通信的OnCommMscomm()事件中会涉及到这两种类型转换,比如:VARIANT variant_inp;COleSafeArray safearray_inp;LONG len;BYTE rxdata[2048];if(m_cmsSerial.get_CommEvent()==2) //事件...
2018-06-15 14:10:34 970 1
转载 Matlab rand()函数用法
rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。本人遇到的是matlab中的rand(a,b)语句,为了清楚这个语句的用法,这里我们随便输入a,b,例如1和4回车之后结果为如图所示4个数字,可以看到这4个数均为1以内,且为1行4列同样地,若我们输入rand(2,4),则会得到一个2行4列的在1以内的随机矩阵ans = 0.2769 0.0971 0.6948 ...
2018-05-11 10:30:06 338609 10
原创 学习笔记--Pygame的安装
安装pygame1、将扩展名为.whl的文件复制到你的项目文件夹里,打开文件夹--shift+右键--在此处打开命令窗口--输入python -m pip install --user pygame-1.9.3-cp36-cp36m-win32.whl标红的部分为文件名。注意空格。2、验证是否安装成功:打开python的终端窗口--输入import pygame--结果如下说明成功了如果没成功,在...
2018-05-02 15:08:07 278
原创 学习笔记--Python 从安装到入门
安装python和pip 第一步、第二步点击Customize installation: 第三步验证自己安装好了么:安装完成后打开cmd,用以下命令查看版本信息,若返回版本号且无报错则安装成功。1、python --version 用来查看python的版本信息2、pip --version 查看pip信息结果: 安装Geany双击Geany,一路next,即可安装成功关于Geany...
2018-04-27 10:50:30 214
第一本无人驾驶书-刘少山
2018-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人