C/C++/C++11/14/17/20
文章平均质量分 76
C/C++/C++11/C++14/C++17/C++20的使用
fengbingchun
这个作者很懒,什么都没留下…
展开
-
C++20中的Feature Test Mocros
C++20中的Feature Test Mocros原创 2024-06-23 10:13:49 · 1567 阅读 · 3 评论 -
C++17中增加字符序列与数值之间转换的函数
C++17中增加字符序列与数值之间转换的函数原创 2024-03-15 13:16:33 · 623 阅读 · 0 评论 -
C++17中引入STL算法执行策略
C++17中引入STL算法执行策略原创 2024-03-13 18:46:47 · 779 阅读 · 0 评论 -
C++17中auto作为非类型模板参数
C++17中auto作为非类型模板参数原创 2024-03-11 18:28:31 · 341 阅读 · 0 评论 -
C++17中的类模板参数推导
C++17中的类模板参数推导原创 2024-03-05 17:31:19 · 352 阅读 · 0 评论 -
C++17中增加的新属性
C++17中增加的新属性原创 2024-02-20 15:58:26 · 955 阅读 · 0 评论 -
C++中对变量进行初始化的3种方法
C++中对变量进行初始化的3种方法原创 2024-02-18 16:45:56 · 1084 阅读 · 0 评论 -
C++中的闭包
C++中的闭包原创 2024-02-07 12:01:25 · 1238 阅读 · 0 评论 -
C++17中lambda表达式新增加支持的features
C++17中lambda表达式新增加支持的features原创 2024-01-27 21:28:16 · 1103 阅读 · 0 评论 -
C++17中的内联变量
C++17中的内联变量原创 2024-01-01 13:20:50 · 1611 阅读 · 0 评论 -
C++中的内存锁定
C++中的内存锁定原创 2023-12-23 20:54:11 · 1707 阅读 · 0 评论 -
C++17中if和switch语句的新特性
C++17中if和switch语句的新特性原创 2023-12-16 19:26:53 · 1098 阅读 · 0 评论 -
C++17中的结构化绑定
C++17中的结构化绑定原创 2023-12-03 11:40:51 · 1447 阅读 · 0 评论 -
C++17中std::byte的使用
C++17中std::byte的使用原创 2023-11-26 10:32:59 · 1347 阅读 · 0 评论 -
C++17中std::variant的使用
C++17中std::variant的使用原创 2023-11-18 19:46:22 · 546 阅读 · 0 评论 -
C++17中std::optional的使用
C++17中std::optional的使用原创 2023-11-11 20:42:36 · 585 阅读 · 0 评论 -
C++17中std::any的使用
C++17中std::any的使用原创 2023-11-04 19:28:44 · 888 阅读 · 0 评论 -
C++17中std::string_view的使用
C++17中std::string_view的使用原创 2023-10-22 11:53:30 · 952 阅读 · 0 评论 -
C++17中头文件filesystem的使用
C++17中头文件filesystem的使用原创 2023-10-04 15:25:11 · 2236 阅读 · 0 评论 -
C++17中std::filesystem::directory_iterator和std::filesystem::recursive_directory_iterator的使用
C++17中std::filesystem::directory_iterator和std::filesystem::recursive_directory_iterator的使用原创 2023-09-30 17:34:37 · 1392 阅读 · 0 评论 -
C++17中std::filesystem::directory_entry的使用
C++17中std::filesystem::directory_entry的使用原创 2023-09-30 11:55:56 · 1217 阅读 · 0 评论 -
C++17中std::filesystem::path的使用
C++17中std::filesystem::path的使用原创 2023-09-23 20:56:31 · 3622 阅读 · 0 评论 -
在Ubuntu 18.04上支持C++17的std::filesystem的方法
在Ubuntu 18.04上支持C++17的std::filesystem的方法原创 2023-09-17 10:57:21 · 1548 阅读 · 1 评论 -
C++17中utf-8 character literal的使用
C++17中utf-8 character literal的使用原创 2023-06-22 14:16:59 · 489 阅读 · 0 评论 -
C++14中返回类型推导的使用
C++14中返回类型推导的使用原创 2023-06-17 21:21:55 · 704 阅读 · 0 评论 -
C++14中binary literals的使用
C++14中binary literals的使用原创 2023-06-11 13:21:23 · 668 阅读 · 1 评论 -
C++11/C++14中constexpr的使用
C++11/C++14中constexpr的使用原创 2023-06-03 18:32:51 · 6320 阅读 · 1 评论 -
C++14中lambda表达式新增加的features的使用
C++14中lambda表达式新增加的features的使用原创 2023-05-13 17:04:08 · 853 阅读 · 0 评论 -
C++14中变量模版的使用
C++14中变量模版的使用原创 2023-03-19 11:58:49 · 557 阅读 · 0 评论 -
C++ lazy evaluation(延迟计算或惰性求值)介绍
C++ lazy evaluation(延迟计算或惰性求值)介绍原创 2022-07-16 20:03:27 · 1636 阅读 · 0 评论 -
C++中namespace detail或namespace internal的使用
在很多开源代码中偶尔会使用名字为”detail”或”internal”的命名空间,如OpenCV的modules目录中,有些文件中使用了namespace detail,有些文件中使用了namespace internal。 名为detail的命名空间通常与名为internal的命名空间具有相同的使用方式。它们通常用于在公共接口中不可见或至少应被上层用户忽略的”内部细节(internal detail)”。 以下为非常简单的测试代码段: funset.h...原创 2022-05-03 18:26:16 · 3419 阅读 · 1 评论 -
C++11中模板类std::enable_shared_from_this的使用
C++11中的模板类template <class T> class enable_shared_from_this功能:允许从std::enable_shared_from_this派生的类T的对象创建指向自身的shared_ptr实例并与现有的shared_ptr对象共享所有权。T需要为完整类型,通常是final的。如果使用this创建一个新的shared_ptr,则其与现有的shared_ptr所有者不同,从而会导致无效引用或导致此对象被删除多次。 std::...原创 2022-04-16 22:37:51 · 1467 阅读 · 0 评论 -
Linux下C++中可使用的3种Hook方法
Hook即钩子,截获API调用的技术,是将执行流程重定向到你自己的代码,类似于hack。如使程序运行时调用你自己实现的malloc函数代替调用系统库中的malloc函数。这里介绍下Linux下C++中可使用的3中Hook方法: 1. GNU C库允许你通过指定适当的钩子函数(hook function)来修改malloc、realloc和free的行为,钩子函数的声明在malloc.h文件中,如__malloc_hook, __free_hook,你可以使用这些钩子来帮助你调试使用...原创 2021-12-05 15:34:14 · 6478 阅读 · 2 评论 -
Windows/Linux上使用fopen相关函数读取大文件
在介绍读取大文件之前,先了解下<cstdint>文件,标准头文件,存放固定宽度整数类型,如int32_t, uint32_t,不管在32位上还是64位上,长度都为4个字节;int64_t, uint64_t,不管在32位上还是64位上,长度都为4个字节。对于int,无论在32位上还是在64位上,长度都为4个字节。对于long, long long, size_t类型,在windows和linux上会有所不同。以下是汇总:使用fopen读取大文件相关函数声明如下:注意它们的参数类型和返原创 2021-06-05 12:42:07 · 3055 阅读 · 0 评论 -
C++中指向类成员指针的用法
C++中,指向类的成员指针包含两种:(1).指向类的成员函数的指针: 类型 (类名::* 函数成员指针名)(参数表); 函数成员指针名 = &类名::函数成员名;也可将以上两条语句调整为一条语句: 类型 (类名::* 函数成员指针名)(参数表) = &类名::函数成员名;类成员函数指针,是C++语言的一类指针数据类型,用于存储一个指定类具有给定的形参列表与返回值类型的成员函数的访问信息。使用::*声明一个成员指针类型,或者定义一个成员指针变量。使...原创 2021-04-05 12:42:03 · 2925 阅读 · 0 评论 -
C++11中头文件type_traits介绍
C++11中的头文件type_traits定义了一系列模板类,在编译期获得某一参数、某一变量、某一个类等等类型信息,主要做静态检查。此头文件包含三部分:(1).Helper类:帮助创建编译时常量的标准模板类。介绍见以下测试代码:template <unsigned n>struct factorial : std::integral_constant<int, n * factorial<n - 1>::value> {};template <&原创 2021-04-04 12:39:16 · 2478 阅读 · 1 评论 -
日期与unix时间戳之间的转换C++实现
之前在https://blog.csdn.net/fengbingchun/article/details/107023645 中介绍过gmtime和localtime的区别,这里介绍下日期与Unix时间戳之间转换的实现,其中也会用到这两个函数。Unix时间戳(Unix timestamp):是一种时间表示方式,定义为从格林威治时间(Greenwich Mean Time, GMT)1970年01月01日00时00分00秒起至现在的总秒数。如果操作系统使用32位二进制数字表示时间,则此类系统的Unix时原创 2021-01-01 19:01:39 · 4676 阅读 · 0 评论 -
开源库jemalloc简介
jemalloc是通用的malloc(3)实现,它强调避免碎片和可扩展的并发支持。它的源码位于https://github.com/jemalloc/jemalloc,最新稳定版本为5.2.1。glibc的内存分配算法是基于dlmalloc实现的ptmalloc;tcmalloc是Google开发的内存分配器;jemalloc在Facebook公司内部很多项目中使用。有时在Linux上使用glibc频繁调用malloc/free时会导致伪”内存泄漏”,此时可试试jemalloc,参考:https:/原创 2020-11-15 10:13:41 · 6587 阅读 · 0 评论 -
Windows/Linux获取Mac地址和CPU序列号实现
UUID(Universally Unique Identifier)即通用唯一标识符,是指在一台机器上生成的数字,保证在全球范围的唯一性。可用的开源库如libuuid,可参考https://blog.csdn.net/fengbingchun/article/details/94590406。UDID(Unique Device Identifier)即设备唯一标识符。一般可通过获取设备的MAC地址+设备的CPU序列号作为设备的唯一标识符。MAC地址(Media Access Control Ad原创 2020-09-29 19:53:44 · 10007 阅读 · 3 评论 -
C++11中thread_local的使用
C++11中的thread_local是C++存储期的一种,属于线程存储期。存储期定义C++程序中变量/函数的范围(可见性)和生命周期。C++程序中可用的存储期包括auto、register、static、extern、mutable和thread_local。这些说明符放置在它们所修饰的类型之前。线程局部存储(Thread Local Storage,TLS)是一种存储期(storage duration),对象的存储是在线程开始时分配,线程结束时回收,每个线程有该对象自己的实例。这种对象的链接性(l原创 2020-09-20 12:51:46 · 10903 阅读 · 5 评论