07 2021 档案
摘要:C语言之泛型实现 原文参考《C语言实现泛型 C11关键字_Generic》 C语言本身不支持真正意义上的泛型编程,但是却在一定程度上可以“实现泛型编程”,借助于宏展开功能(#define)和类型重定义(typedef)实现轻量级的泛型编程,随着C11标准的发布, 由_Generic关键字可以支持泛型
阅读全文
摘要:C++关键字explicit作用分析: 用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示,什么又是隐式的呢? 如果C++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象。 /********
阅读全文
摘要:C++如何正确使用前置声明 继承的时候是不能使用前置声明该类; 正确的使用:是直接#include父类所在的头文件或者将该类放在使用类之前; 代码截图: 编译截图: 采用前置声明的类定义数据成员时:不能直接定义成对象,而只能以指针或者引用的方式定义数据成员; 定义为引用的方式要注意引用的初始化操作;
阅读全文
摘要:C++11 std::atomic 原子数据类型 什么是原子数据类型? 从功能上看,简单地说,原子数据类型不会发生数据竞争,能直接用在多线程中而不必我们用户对其进行添加互斥资源锁的类型。从实现上,大家可以理解为这些原子类型内部自己加了锁。 #include <thread> #include <at
阅读全文

浙公网安备 33010602011771号