自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

守望的博客-编程珠玑

Linux/C/C++/数据结构与算法/工具/资源,关注公众号编程珠玑,第一时间获取更多原创技术文章

  • 博客(12)
  • 收藏
  • 关注

原创 聊点基础的--sizeof,strlen,数组,字符串在一起能整哪些坑?

对于初学者来说,sizeof,strlen,数组,字符串整在一起是痛苦的,它总能在某些莫名其妙的时候整一个措手不及。本文看看它们在一起能挖什么坑。例子在说明这些问题之前,先看一段代码,看看你是否都理解了。(注:以下代码结果为编译为64位程序后运行结果)//来源:公众号【编程珠玑】#include<stdio.h>#include<string.h>v...

2019-11-22 12:47:14 1042 2

原创 这个编程技巧别说我没告诉你

​前言有读者在后台留言说用c写一篇有限状态机的推文,正好之前也用过,就分享一下吧。背景先举一个简单的例子,假设是这样的,一个小孩有两种状态,睡眠,清醒。睡的时候可能会撒尿,微笑,撒尿之后会转为清醒状态,而清醒的时候可能会笑,会吃,吃完之后会转会睡眠状态用C语言实现,一般写法可能是这样的://来源:公众号【编程珠玑】#include<stdio.h>enum...

2019-11-16 09:00:35 727 1

原创 工作中几乎用不到算法,为何要学算法?

前言不知道你有没有发现,非算法类的岗位,工作之后几乎没有用到什么算法,为什么还要学算法?本文谈谈自己的看法,不供参考。从用人者角度毋庸置疑,面试是用来筛选候选人的,在这个僧多粥少的时候,就需要提高筛选条件,例如最常见的学历,不是说学历一般的人不好,而是总体来说,学历好的人里面挑选到合适的概率比较大而已,这就是现实。而面试题中,算法相比于其他记忆型的题目,就能很好的体现一个人的逻辑...

2019-11-14 14:02:24 2304 1

原创 为何优先选用unique_ptr而不是裸指针?

前言​在《拥抱智能指针,告别内存泄露》中说到了内存泄漏问题,也提到了C++中的智能指针基本原理,今天就来说说类模板unique_ptr。在此之前,先回答读者的一个提问:C语言中该怎么办?有几点建议: 编写时尽量遵循函数内申请,函数内释放的原则 注意成对编写malloc和free 使用静态扫描工具,如《pclint检查》 使用内存检测工具,如valgr...

2019-11-11 21:16:45 1016

原创 Linux安装C++手册,就是这么简单

前言在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:man3sleep但是一般却没有C++的函数手册,怎么把C++的帮助手册也装在机器上呢?本文借助C++手册的安装,说明如何自助安装man手册。man原理如果你还不习惯使用man命令或者不清楚man命令的作用,那么建议你先看看这篇《linux必学命令-ma...

2019-11-08 09:26:55 1271

原创 超棒离线手册-每个开发者的福音

前言昨天在分享如何安装man手册时候,有读者留言提到了zeal,特意去体验了一下,感觉还不错,也分享给大家。在这里再次感谢读者【0x27】。zeal不知道你是否曾经想过,如果有一个工具,类似于软件管理工具,我要什么文档下载什么文档,然后就可以使用了,那该多好,就不用到处找文档了。zeal是一款属于开发者的离线文档工具,解决了你多个文档来回下载,翻看的烦恼。我找到了它的官网:...

2019-11-08 09:25:03 655

原创 拥抱智能指针,告别内存泄露

前言我们都知道,当申请的内存在不用时忘记释放,导致内存泄漏。长期来看,内存泄漏的危害是巨大的,它导致可用内存越来越少,甚至拖慢系统,最终进程可能被OOM(out of memory)机制杀死。C与C++中的内存泄漏在C语言中,我们用malloc申请内存,free释放内存;在C++中,也可以使用它们,不过对于自定义类型,常常会使用new申请,delete来释放。它们都有同样的问题,...

2019-11-07 21:39:02 2820 2

原创 linux自助安装man手册,就是这么简单!

前言​在Linux编写或者编译C代码的时候,直接使用man命令就可以查看该函数的使用手册,非常方便,如:man3sleep但是一般却没有C++的函数手册,怎么把C++的帮助手册也装在机器上呢?本文借助C++手册的安装,说明如何自助安装man手册。man原理如果你还不习惯使用man命令或者不清楚man命令的作用,那么建议你先看看这篇《linux必学命令-m...

2019-11-05 22:16:30 2268

原创 C++和C中的const关键字有何区别?

前言在《const关键字到底该怎么用》一文中介绍了C语言中的const关键字,本文说说C++中的const关键字,它的大部分特点和C语言中的类似,所以本文主要针对不同之处。修饰普通变量--只读在C语言,虽然表面是不允许被修改,但是看下面的代码:#include<stdio.h>intmain(void){constinta=10...

2019-11-02 08:53:32 480

原创 有了它,再也不怕C中的复杂声明了

前言随着学习的深入,你可能慢慢地接触到越来越多的复杂声明,而这里有一个网站,帮你识别复杂的声明。试一试你知道下面的声明是什么意思吗?void(*signal(int,void(*)(int)))(int);没关系,访问https://cdecl.org/输入上面的内容就可以知道了:我们就得到了这个声明的含义:declare signal as fu...

2019-11-01 12:33:40 341

原创 几道C/C++小题,看看你会不会?

构造函数下面使用无参构造函数声明变量的方式对吗?为什么?应该如何修改?Testtest();答案参考《认真理一理C++的构造函数》。数组和指针下面代码的输出结果是什么?//实际中千万不要这么写#include<stdio.h>intmain(void){inta[5]={1,2,3,4,5};int...

2019-11-01 12:32:13 407

原创 向别人请教问题,不要这样开头

前言我们经常会有请教别人问题的时候,而下面这几种是不太建议的提问开头 在吗? 能问你一个问题吗? 有谁知道xxx吗? 当然你向我提问的时候,也不用称呼为大佬或者大神之类的,我就是一个普通的开发者。为什么毋庸置疑,你提问的目的自然是想得到解答,而上面三种提问方式都有一个共性,就是在看到上面的问题之后,仍然不知道具体问题是什么,而要简单回复之后才能得到真...

2019-11-01 12:30:51 6607

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除