C++
龙雪zzZ
这个作者很懒,什么都没留下…
展开
-
C/C++:写代码时将数组放在main函数里面还是外面的区别
刚开始学习的时候一直习惯起手先写main函数,然后变量什么的都写在main函数里面,也一直没有什么问题但是开始系统性的做题的时候,发现基本上讲竞赛代码的书和博客都将数组写在main函数的外面。如果一个数组并不是全局数组,他的作用域就只在main函数里面,为什么还要写在main函数的外面呢?之前一直不大理解,一直都图方便在main函数里面对数组进行定义。直到一次运行的时候,代码并没有问题,但是每次运行的时候都会出现停止工作的问题。测试了很久才发现是因为把数组开在了main函数里面的问题把数组开在m原创 2020-11-08 01:17:45 · 2915 阅读 · 3 评论 -
关于./configure、cmake、make、make install 命令的介绍
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤note:1.如果经常在Linux系统下面与C、C++文件打交道的话,一定经常遇到四/五步走:mkdir buildcd buildcmake ..make// 如果是安装依赖库的时候会用到 make install前两步并不难理解,就是想把对应项目的编译文件放在build目录下,这样便于管理...原创 2020-01-29 00:02:25 · 1037 阅读 · 0 评论 -
C/C++编译报错 error: stray '\240'('\302') in program
错误可能原因:代码里有非法Ascll码字符,非法空格,一般复制网页上的代码到编辑器会出现这个错误。解决方法:根据错误提示行找到非法字符,删除即可。若是字符在中文状态的下面有红色波浪,直接修改,若是空格错误,先把整块代码拖住,看哪些部分是多余的,删除即可。实在找不到错误字符,建议手打一遍代码,记得注意缩进。...原创 2019-03-17 13:28:20 · 4770 阅读 · 3 评论 -
C++:string 截取字符串
string str="123abc456"; int i=3;1 取字符串的前i个字符str=str.Substring(0,i); // orstr=str.Remove(i,str.Length-i);2 去掉字符串的前i个字符:str=str.Remove(0,i); // or str=str.Substring(i);3 从右边开始取...原创 2019-08-01 10:35:57 · 3724 阅读 · 0 评论 -
C++:string 与 char* 及与 char[ ] 之间的转换
string可以被看成是以字符为元素的一种容器,字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如begin()、end(),迭代器可以根据他们进行定位。注意,与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string...原创 2019-08-01 10:23:26 · 281 阅读 · 0 评论 -
C++:数组的引用,作形参或是作返回类型,不用指针
一、数组的引用切入:可以将一个变量定义成数组的引用(这个变量和数组的类型要相同)形式:intodd[5] = {1, 3, 5, 7, 9};int(&arr)[5] = odd;//中括号内的数一定要和所引用的数组的维度一样cout << arr[3] << endl;//等价于odd[3]解读:注意上面代码中的...原创 2019-07-17 10:46:27 · 417 阅读 · 0 评论 -
C语言、C++:全局变量与局部变量
之前写过《Java:全局变量(成员变量)与局部变量》(https://blog.csdn.net/dragongiri/article/details/81947776)的文章,但由于附带了许多Java的知识,比如static关键字等对于初学者没必要的赘述,这里所以再写一篇十分简单明了的《全局变量与局部变量》(只涉及基本语言C语言)让读者快速入门与理解使用。话不多说,直接干货 ↓(...原创 2019-04-14 14:11:10 · 4556 阅读 · 0 评论 -
C++:字符串中删除特定元素
#include<iostream>#include<string.h>#include<string>using namespace std;//String类写法,注意需要引用传递,否则string类定义的为值传递void deletechar(string &a){ int len=a.size(); for(int ...原创 2019-04-12 18:51:41 · 5297 阅读 · 0 评论 -
Win32串口编程
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。在Win32下,可以使用两...转载 2019-03-28 22:32:56 · 336 阅读 · 0 评论 -
c++中“::”和“:” 冒号 意思
(1) “::” 1)类作用域操作符。“::”指明了成员函数所属的类。 如:M::f(s)就表示f(s)是类M的成员函数。 2)表示域操作符。 如:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出 f 的定义,那么在类外定义 f 时, 就要写成void A::f(),表示这个f()函数是类A的成员函数。 3...原创 2019-03-28 10:31:56 · 6776 阅读 · 1 评论 -
C++串口通信编程(异步通信)
串口通信一般分为同步和异步两种方式,本博客主要讲述异步通信程序的编写,其编程步骤主要分为四步骤:一、打开串口Win32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的。本程序串口类中打开串口的函数定义如下:bool My_Com::Open_Com(LPCTSTR Port){hCo...转载 2019-03-29 16:05:24 · 6828 阅读 · 0 评论 -
C++:std::initializer_list
initializer_list是一种标准库类型,用于表示某种特定类型的值的数组。和vector一样,initializer_list也是一种模板类型,定义initializer_list对象时,必须说明列表中所含元素的类型。和vector不一样的是,initializer_list对象中的元素永远是常量值,我们无法改变initializer_list对象中元素的值。initializer_l...转载 2019-02-19 15:42:06 · 5374 阅读 · 0 评论