摘要: C语言进阶——位域 位段,C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。 位域定义: 信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字节,例如,“真”或“假” 阅读全文
posted @ 2021-08-23 12:38 skyuz 阅读(492) 评论(0) 推荐(1) 编辑
摘要: const常量、指向常量的指针和常量指针 原文链接 1)先看const常量的情况: const int a=2; int const b=c; // c是已经声明过的整型 两者都可以。本地的const常量必须在第一次声明时就初始化,用变量或常量初始化都可以,只是初始化一次以后它的值就不能再改变了,此 阅读全文
posted @ 2021-08-01 10:04 skyuz 阅读(108) 评论(0) 推荐(0) 编辑
摘要: C语言之泛型实现 原文参考《C语言实现泛型 C11关键字_Generic》 C语言本身不支持真正意义上的泛型编程,但是却在一定程度上可以“实现泛型编程”,借助于宏展开功能(#define)和类型重定义(typedef)实现轻量级的泛型编程,随着C11标准的发布, 由_Generic关键字可以支持泛型 阅读全文
posted @ 2021-07-31 16:01 skyuz 阅读(2884) 评论(0) 推荐(1) 编辑
摘要: C++关键字explicit作用分析: 用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示,什么又是隐式的呢? 如果C++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象。 /******** 阅读全文
posted @ 2021-07-26 22:15 skyuz 阅读(255) 评论(0) 推荐(0) 编辑
摘要: C++如何正确使用前置声明 继承的时候是不能使用前置声明该类; 正确的使用:是直接#include父类所在的头文件或者将该类放在使用类之前; 代码截图: 编译截图: 采用前置声明的类定义数据成员时:不能直接定义成对象,而只能以指针或者引用的方式定义数据成员; 定义为引用的方式要注意引用的初始化操作; 阅读全文
posted @ 2021-07-24 19:23 skyuz 阅读(218) 评论(0) 推荐(0) 编辑
摘要: C++11 std::atomic 原子数据类型 什么是原子数据类型? 从功能上看,简单地说,原子数据类型不会发生数据竞争,能直接用在多线程中而不必我们用户对其进行添加互斥资源锁的类型。从实现上,大家可以理解为这些原子类型内部自己加了锁。 #include <thread> #include <at 阅读全文
posted @ 2021-07-15 20:51 skyuz 阅读(115) 评论(0) 推荐(0) 编辑
摘要: C语言———指针详解 这段时间在看 Linux 内核,深觉 C 语言功底不扎实,很多代码都看不太懂,深入学习巩固 C 语言的知识很有必要。先从指针开始。 一、什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址。CPU 通过内存寻址对存储在内存中的某 阅读全文
posted @ 2021-06-16 17:45 skyuz 阅读(313) 评论(0) 推荐(0) 编辑
摘要: C语言之宏的使用技巧(宏嵌套/宏展开/可变参数宏) 1.前言 最近在看库代码及源代码与开源项目的时候经常会遇到一些特殊的宏用法。预处理器在源代码编译之前对其进行一些文本性质的操作。它的主要任务包括删除注释、插入被#include指令包含的文件的内容、定义和替换由#define指令定义的符号以及确定代 阅读全文
posted @ 2021-06-16 12:49 skyuz 阅读(4332) 评论(1) 推荐(1) 编辑
摘要: C语言之类型重定义typedef (1) 第一个作用是 画繁为简 给比较冗长的类型名字起个外号,则能少打几个字,从另外意义来说是程序员的偷懒行为,也是促进进步,提升开发效率。从功能方面讲typedef和linux中的alias命令有点类似。 第二个作用是 平台开发增强可移植性 因为不同平台相同的数据 阅读全文
posted @ 2021-06-15 12:11 skyuz 阅读(584) 评论(0) 推荐(0) 编辑
摘要: C++连接mysql数据库的两种方法 1.第1种:是利用ADO连接 此种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库。暂时只连接了mysql,sqlserver,oracle,access。对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时 阅读全文
posted @ 2021-06-15 11:36 skyuz 阅读(5169) 评论(0) 推荐(1) 编辑