
C/C++
文章平均质量分 74
深刻理解并熟练使用一种编程语言
是浩浩子
十年饮冰难凉热血
展开
-
Boost.Asio Library
是Boost::Asio命名空间内的核心对象,I/O service是一个用于访问操作系统资源的通道,并在提交I/O请求的程序和执行I/O请求的操作系统之间建立通信。io_service对象使用最频繁的方法是,它用于不断应对io_service对象需要处理的事件。因此它会阻塞,直到所有的事件处理完毕。如果想让对象在没有事件需要处理时,依然阻塞,可以使用方法。例如:在上面的代码中,类通知对象它有工作要做,但我们没有定义工作是什么。因此,程序将被无限阻塞,所以最后一行代码不会输出。阻塞的原因是run()函数原创 2022-07-02 19:01:48 · 504 阅读 · 1 评论 -
贪吃蛇小项目
在这个项目中体现出的用C++面向对象的思想解决问题,值得好好回顾下。开始编程前在正式编写程序之前,应该分析清楚以下几点。1.明确游戏的玩法贪吃蛇是大家非常熟悉的小游戏,其中只涉及到蛇的移动,食物随机出现在限定区域内,当蛇吃到食物后,蛇的身子会加长一个单位。当蛇头碰到墙壁或者自己的身体时,游戏结束。2.涉及到的模块2.1 墙模块首先明确墙模块里有哪些行为和属性。成员属性: 一个二维数组。成员行为: 初始化数组,设置好数组中的数据;画墙,在屏幕上输出;通过对外接口,根据索引设置二维数组的数据.原创 2022-01-30 21:55:53 · 2068 阅读 · 0 评论 -
关于内联函数
前言在程序设计中为什么要使用函数,首先来看下函数的定义:许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,所以,函数也可以说是许多代码的集合。也就是说把实现某一功能的代码进行封装起来形成函数。函数的类型有很多,这里主要比较普通函数,宏定义函数以及内联函数。1. 普通函数普通函数是相对常见的函数,将实现某一功能的代码封装成普通函数,同时也会付出相应的代价。下面代价的分析引自这篇文章C语言宏定义和宏定义函数。1.函数调用会带来额外的开销,它需要开辟一片栈空间,记录返原创 2021-12-16 19:00:26 · 570 阅读 · 0 评论 -
关于static关键字
1. 宏定义函数2. 内联函数原创 2021-12-16 15:20:44 · 254 阅读 · 0 评论 -
【强制结构体指针类型转换】访问成员变量
不同的数据类型如int,float,double以及我们通过结构体struct自己创建的数据类型,在内存所占的空间是不一样的。例如int型占四个字节,在内存的读取方式为从首地址开始读取32位的数据。强制类型转换可以理解为首地址不变,我们把其读取方式改变。来看这样一个例子,通过这个例子可以对结构体内数据存储方式以及强制类型转换有更直观的认识。#include<iostream>using namespace std;struct Str{ int a=10; int b原创 2021-11-27 15:08:06 · 2505 阅读 · 0 评论