
编程
文章平均质量分 83
qq_510863853
这个作者很懒,什么都没留下…
展开
-
练习在博客中写第一个程序
#include<stdio.h>int main(){printf(“hello world\m”);return 0;}原创 2019-02-14 08:15:11 · 142 阅读 · 0 评论 -
数组名不是常量指针
这篇是一篇C语言劝退流教学文,看不懂的同学应该是劝退教学流的目标对象(写完了才想起来注一下,本文提到的“数组”和“数组名”字样,指的是数组左值表达式(array lvalue expression)或数组声明(array declaration)所声明的变量)首先,数组名不是常量指针,从两方面:类型方面,数组的类型是type[size],和常量指针类型type* const不同使用方面,...转载 2019-03-20 08:42:31 · 1231 阅读 · 0 评论 -
C++类中的静态成员变量和静态成员函数的作用
数据成员可以分为静态变量、非静态变量两种。静态成员:静态类中的成员加入static 修饰符,即是静态成员,可以使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态成员,因为静态成员存在于内存,所以非静态成员可以直接访问类中的静态成员。非静态成员:所以没有加static的成员都是非静态成员,当类被实例化后,可以通过实例化的类名进...转载 2019-03-20 09:16:34 · 223 阅读 · 0 评论 -
extern用法总结
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。extern修饰变量的声明。如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a.c中声明exte...转载 2019-03-20 09:21:07 · 217 阅读 · 0 评论 -
线程中的同步和异步的区别
线程中的同步和异步的区别百度到的同步和异步概念:同步(Sync)所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。根据这个定义,Java中所有方法都是同步调用,应为必须要等到结果后才会继续执行。我们在说同步、异步的时候,一般而言是特指那些需要其他端协作或者需要一定时间完成的任务。简单来说,同步就是必须一件一件事做,等前一件做完了才能做下一件事。异步...转载 2019-03-19 14:00:51 · 576 阅读 · 0 评论 -
C++ vector的用法(整理)
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include;一、vector 的初始化:可以有五种方式,举例说明如下:(1) vector<int> a(10); //定义了10个整型元素的向量(尖括号中为元素类型名,它可以是任何合法的数据类型),但没有给出初值,其值是不...转载 2019-04-11 14:52:17 · 279 阅读 · 0 评论 -
deque用法详解
deque用法详解2018年04月13日 09:15:38 鹤鹤有明 阅读数:901deque函数: deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素。但它又与vector不同,deque支持高效插入和删除容器的头部元素,因此也叫做双端队列。deque类常用的函数如下。(1) 构造函数deque(...转载 2019-04-11 16:37:23 · 370 阅读 · 0 评论 -
c++中 override用法
描述:override保留字表示当前函数重写了基类的虚函数。目的:1.在函数比较多的情况下可以提示读者某个函数重写了基类虚函数(表示这个虚函数是从基类继承,不是派生类自己定义的);2.强制编译器检查某个函数是否重写基类虚函数,如果没有则报错。用法:在类的成员函数参数列表后面添加该关键字既可。例子:class Base {virtual void f();};class Deriv...转载 2019-04-10 09:53:01 · 6633 阅读 · 0 评论 -
重载,重写(覆盖),隐藏三者的区别
基本概念:重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。复制代码1 class A{2 public:3 void test(int i);4 void test(double i);//overload5 void test(int i, double j);//over...转载 2019-04-10 09:55:11 · 278 阅读 · 0 评论 -
面向对象的理解
当我们打开招聘网站时,通常看到职位要求的第一条便是“有面向对象编程思想”,但往往这一条会被大多数人忽视,心想“不就是写几个类吗,我将具体的事物抽象一下就是喽!”,对,你说的一点都没错,但我要说,你对面向对象的思想还只停留在表层。当我们遇到一个问题或者是接触一种新的思想时,往往只关心其字面上的意思,并没有真正的去深究这其中的道理,这种浅尝辄止的思维方式已经根深到大多数人的思维习惯中。科学之所以诞生...转载 2019-05-30 17:33:10 · 130 阅读 · 0 评论 -
当程序结束的时候,程序内部申请的堆内存会释放么?
1 从C语言本身设计来说,不会释放。所谓动态内存,是由malloc系列函数进行申请的内存,除非在程序中使用free释放,否则该段内存不会被释放掉。从这个角度来说,即使进程结束,该段内存也会被占用。这种现象被称为内存泄露。2 大多数操作系统可以智能释放。动态内存由于是进程使用,向操作系统控制方申请的内存,所以操作系统内核可以记录哪些内存由哪个进程使用,这样为了减少内存泄露的危害,操作系统内核...转载 2019-05-28 17:34:02 · 7173 阅读 · 2 评论 -
qt 程序数据库管理器不匹配
Qt5.12 MSVC编译器 报错:程序数据库管理器不匹配2019年04月02日 10:08:28 Justice132 阅读数:159今天在做Qt和matlab混合编程时发现用mingW编译器和msvc编译器有很大不同,正想用一下msvc编译器建一个项目,结果报错:程序数据管理器不匹配,请重新安装。有意思的是我之前遇到过这个问题,当是我在反复卸载安装Qt之后出现的这个问题,网上有人解释为...转载 2019-06-12 16:55:02 · 4750 阅读 · 2 评论 -
一种使用QThread线程的新方法QObject::moveToThread
一种使用QThread线程的新方法QObject::moveToThread2012年04月04日 17:24:11 sydnash 阅读数 59644昨晚在一个邮件列表里面看见一个关于在线程种使用signal/slot的讨论,由于回复太多,这里就不贴出原文了。 主要是关于怎样从一个线程发送信号到另外一个线程的问题。其实这个也不是什么复杂的问题,在qt的asstant里面已经描诉的比较...转载 2019-07-02 09:18:23 · 221 阅读 · 0 评论 -
c++ 小数点精度设置案例
头文件#include,函数setprecision()setprecision(n) 指定一个浮点数的精度默认设置输出的数字的总位数为n,包含整数和小数部分。fixed :必须与setprecision(n)配合使用,用来控制小数位数,不够补0,只要写一次fixed,后面的setprecision(n)就都是指小数了。如果不使用fixed,setprecison(n)就是设置输出数字的总位...原创 2019-06-24 11:12:38 · 2512 阅读 · 0 评论 -
指针常量和常量指针的区别
指针常量的本质是一个常量,并且使用指针来修饰它,那么说明这个常量的值应该是一个指针,其格式应为:int * const p,中文名 常量指针 外文名 constant pointer 属 性 常量 格 式 int * const p 出 于 C/C++而常量指针本质是指针,并且这个指针乃是一个指向常量的指针。其格式为:int const * p或者 const int* p....转载 2019-03-20 08:38:07 · 176 阅读 · 0 评论 -
C语言的那些小秘密之异常处理
很多读者在此之前可能根本没有使用或者听说过C语言的异常处理,印象中都是C++或者java才有的东西,C语言怎么会有异常处理呢?当然估计在大学出于一般的性的学习考试之类的话老师几乎是不会提及C语言的异常处理的,那么到底什么是异常处理?C语言中又该如何来实现异常处理呢?那么我们今天就讲解一种典型的实现C语言异常处理的方法,以setjmp()函数和longjmp()函数实现的异常处理,我尽可能的把它们是...转载 2019-02-14 11:00:24 · 192 阅读 · 0 评论 -
Gcc的编译流程
Gcc的编译流程分为了四个步骤:1.预处理,生成预编译文件(.文件): Gcc –E hello.c –o hello.i2.编译,生成汇编代码(.s文件): Gcc –S hello.i –o hello.s3.汇编,生成目标文件(.o文件): Gcc –c hello.s –o hello.o4.链接,生成可执行文件: Gcc hello.o –o ...转载 2019-02-14 08:24:02 · 677 阅读 · 0 评论 -
浅谈windows的各种字符串(转载)
作者:Froser链接:https://zhuanlan.zhihu.com/p/56306408来源:知乎著作权归作者所有,转载请联系作者获得授权。说起Windows下的编程,可能大家的印象都是:微软从来都“特立独行”,什么都要来自己的一套,连类型都不例外。C语言下预设的一些基本类型,微软几乎都typedef过,如BYTE,WORD,DWORD等。那么,今天我们来简单聊聊Windows编...转载 2019-02-14 08:38:13 · 169 阅读 · 0 评论 -
常用编程网站
刷题网站领扣 lintcode lintcode.comleetcode https://leetcode-cn.com/Codewars https://www.codewars.com/牛客网(有手机app) https://www.nowcoder.com/文档资料https://devdocs.io/ 综合类的线上api文档,英语不好的同学请备好翻译https://githu...转载 2019-02-14 08:42:49 · 218 阅读 · 0 评论 -
运算符优先级表
转载 2019-02-14 08:46:25 · 176 阅读 · 0 评论 -
添加音乐背景
用到的函数 PlaySound所需头文件#include<windows.h>#include<mmsystem.h>#pragma comment(lib,“winmm.lib”)步骤1.准备一个wav文件 放在一个比较方便找的位置 等下要导入2.导入资源文件到解决方案资源管理器中右键资源文件 添加一个资源文件类型...转载 2019-02-14 08:48:56 · 271 阅读 · 0 评论 -
VS创建C/C++项目
示例工具 VS20171.打开VS 新建项目文件-新建-项目或者点击如下新建项目也可以2.选择新建项目类型如果是VS13 选择win32控制台应用程序 如果是VS17选择桌面向导其中项目名和解决方案名字都可以修改项目名 单个项目(一个项目一个文件夹 项目名就是这个文件夹的名字)解决方案 一个解决方案可以管理多个项目 (整个文件夹 里面可以有多个项目)改完之后点确定3....转载 2019-02-14 08:59:10 · 777 阅读 · 0 评论 -
Linux下C编程习惯
大学期间刚开始学习C语言时,我对于编程的要求不屑一顾,所以别人在参考我的代码的时候总是会说我写的“太乱”,当初我自己对于代码的要求就是自己能懂就行了。当我要踏入社会的时候我发现我必须要改掉这个不好的习惯,因为工作后不是简简单单的只要自己看懂就行了!下面就来简单的介绍我在linux下编程所学的一些规范的写法吧。1.宏定义的名称每个字母都用大写,名字要体现它在代码中的含义,例如:#define ...转载 2019-02-14 09:07:13 · 152 阅读 · 0 评论 -
size_t秘密
今天在看一个经典的双链表的时候看到了一个类型size_t,这个类型在此之前也经常见到,但是并没有太在意,一直都把他当成整形在用,但是在分析双链表的代码时发现了一个问题,跟我理解的有些出入,但是运行代码他的写法却是对的,于是就开始找我理解出错的地方,从头看了一遍,发现唯一的问题就是size_t类型,上网搜索了一下,讲解的并不多,一般都说把他当int用,于是自己写了一个代码测试下,代码如下:#inc...转载 2019-02-14 09:09:26 · 211 阅读 · 0 评论 -
关于临时指针变量和其他临时变量的区别
一直以为对于函数返回的指针了解得还可以,但是真实不用不知道,一用吓一跳。今天在一篇博客上面看到如下两段代码,博客的作者给出了一个问题,但是并没有解释为什么不同。自己通过实验给出了解释,但是不知道对不对,仅供参考!下面是个错误的例子:char* get_str(void){ char str[] = {“abcd”}; &nbs...转载 2019-02-14 09:16:36 · 1732 阅读 · 1 评论 -
程序划分区域
字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中?比如:char *pstr=“hello world!”;这里,"hello world!"是一个字符串常量,pstr是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?好像应该不是在“栈区“分配空间吧!!!一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(sta...转载 2019-02-14 10:33:44 · 419 阅读 · 0 评论 -
typedef和#define的作用范围
转载自:http://blog.sina.com.cn/s/blog_70ec9a6f01014mqs.htmltypedef:如果放在所有函数之外,它的作用域就是从它定义开始直到文件尾;如果放在某个函数内,定义域就是从定义开始直到该函数结尾;#define:不管是在某个函数内,还是在所有函数之外,作用域都是从定义开始直到整个文件结尾。...转载 2019-02-14 10:37:05 · 203 阅读 · 0 评论 -
在case语句中定义变量的问题
转载自:http://blog.youkuaiyun.com/scutth/article/details/6894975今天在编写代码的过程中碰到了在switch……case……的case中定义一个变量编译出错的问题,搜素了下刚好有篇博文介绍。[cpp] view plaincopyswitch(n){case 1:int i=0;break;case 2:…;break;case 3:…;b...转载 2019-02-14 10:40:37 · 2293 阅读 · 0 评论 -
C语言的那些小秘密之预处理
预处理是C语言的一个重要知识点,它能改善程序设计的环境,有助于编写易移植、易调试的程序。因此,我们有必要掌握好预处理命令,在自己编程的时候灵活的使用它,使得编写的程序结构优良,更加易于调试和阅读。接下来我尽可能的把预处理中重要知识点向读者讲解清楚,使读者能够在自己以后编程的过程中熟练的使用预处理命令。C语言的预处理主要有三个方面:1、文件的包含2、宏定义3、条件编译一、文件包含的形式有下...转载 2019-02-14 10:56:38 · 194 阅读 · 0 评论 -
第一次在GitHub上提交代码
第一次在GitHub上提交代码2018年07月31日 16:47:31 dongxiaocong 阅读数 3587更多分类专栏: GitHub第一次在GitHub上提交代码目录第一次在GitHub上提交代码一、创建github repository(仓库)二、安装git客户端三、为Github账户设置SSH key四、上传本地项目到github一、创建github reposi...转载 2019-09-03 17:24:36 · 274 阅读 · 0 评论