编程代码

编程代码
编程代码
  • 「C++」读懂指针与内存
    C和C++最强大的地方在哪里呢?就是指针对内存的操作。有了指针我们才可以在代码内存里自由飞翔,想玩哪里玩哪里,想变什么变什么。 内存 首先我们聊聊什么是内存(我们以32位程序模型为例)。对于一个进程来说,内存可以理解成一连串的带编号的存储区域。 每个进程都映射一段连续的虚拟内存地址(不是内存的真实物理地址,只是一个编号,物理内存地址可以不连续)。 每个格子我们理解为一个字节,也就是一个byte或者说一个unsigned char。 而指针...
    2021-01-18 09:08:08
  • C++异常处理(try catch throw)完全攻略
    程序运行时常会碰到一些异常情况,例如: • 做除法的时候除数为 0; • 用户输入年龄时输入了一个负数; • 用 new 运算符动态分配空间时,空间不够导致无法分配; • 访问数组元素时,下标越界;打开文件读取时,文件不存在。 这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃。 所谓“处理”,可以是给出错误提示信息,然后让程序沿一条不会出错的路径继续执行;也可能是不得不结束程序,但在结束前做一些必要的工作,如将内存中的数据写入文件、关闭打开的文...
    2021-01-13 14:21:49
  • 万花模拟器(C/C++基础)
    /**************************** 还记得小时候玩的万花尺么?好好玩,各种不同的点距能画出各种各样形状图形。 C语言程序万花尺模拟 函数功能:每隔5秒随机生成万花图形 并自动保存作图参数以及图形到当前目录,图像格式为jpg 提示: 相关参数范围可以自行设置,用自定义mySetRand函数设置作图尺寸范围 注意: 内圆半径不能大于外圆半径,内圆作图点不能大于内圆半径 *****************************/ ...
    2021-01-11 10:55:18
  • C++11多线程编程(九)——总结篇
    这篇是多线程编程系列的总结篇,复盘一下前面讲到的多线程的各个知识点。要想成为一个优秀程序员,多线程编程是永远也绕不开的话题,必须要掌握,不同的语言实现多线程的方式都各不相同,但原理都是相通的。 为何需要多线程,因为要充分利用CPU的性能,特别是多核CPU,提升效率,提高用户体验。 早期的C++在语言级别上并不支持多线程,要实现多项只能依靠不同系统多线程函数,这给C++多线程编程带来了一定的麻烦。但在C++11开始,C++正式的支持了多线程编程。 那么...
    2021-01-07 14:02:12
  • C++11多线程编程(八)——死锁问题
    一、死锁现象 看到“死锁”二字,你是不是慌得不知所措。死锁,顾名思义就是这个锁死掉了,再也动不了了。那死锁是怎么产生的呢?当你对某个资源上锁后,却迟迟没有释放或者根本就无法释放,导致别的线程无法获得该资源的访问权限,进而程序无法运行下去,有点像是阻塞的现象。但是阻塞是一种正常现象,而死锁可以说是一种bug,必须要处理。 那么我现在就举个死锁的例子,来分析分析。 # include <iostream> # include ...
    2021-01-07 14:00:41
  • C++11多线程编程(七)——信号量的实现
    一、为何需要信号量 信号量用来干嘛的呢?搜寻答案的话,很多人都会告诉你主要用于线程同步的,意思就是线程通信的。简单来说,比如我运行了2个线程A和B,但是我希望B线程在A线程之前执行,那么我们就可以用信号量来处理。有些人可能会疑惑,那么麻烦干嘛?你不是要B线程先执行吗?那么我让A线程休眠一点时间不就可以了吗?没错,这个思路是可以的,但是如果B线程也因为某些原因(比如硬件,操作系统的原因)导致延缓执行了,这该怎么办?到底A线程该休眠多少时间合适呢?所以正确的做法就是在B...
    2021-01-07 14:00:00
1 2 3 ··· 6
在线客服 双翌客服
客服电话
  • 0755-23712116
  • 13822267203