随笔分类 -  C++ 知识

摘要:一、背景 在日常C/C++编程中,我们常进行数据的传递操作,比如,将数据传给函数。当数据占用的内存较大时,减少数据的拷贝可以有效提高程序的性能。在C中指针是完成这一目的的标准数据结构,而C++引入了安全性更高的引用类型。所以在C++中若传递的数据仅仅只读,const string&成了C++的天然的 阅读全文
posted @ 2024-01-08 20:31 小海哥哥de 阅读(988) 评论(0) 推荐(0) 编辑
摘要:一、tuple元组 1.1、简介 C++11 标准新引入了一种类模板,命名为 tuple(元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。 1.2、初始化 tuple 本质是一个以可变模板参数定义的类模板,它定义在 头文件并位于 std 命名空间中。因此要想使用 tu 阅读全文
posted @ 2023-11-20 17:27 小海哥哥de 阅读(1552) 评论(0) 推荐(0) 编辑
摘要:1、简介 bitset 在 bitset 头文件中,它类似数组,并且每一个元素只能是0或1,每个元素只用1bit空间。 //头文件 #include<bitset> 2、初始化定义 初始化方法 代码 含义 bitset a a有n位,每位都为0 bitset a(b) a是unsigned long 阅读全文
posted @ 2023-10-31 11:36 小海哥哥de 阅读(90) 评论(0) 推荐(0) 编辑
摘要:头文件 #include <set> 代码 #include <set> #include <iostream> using namespace std; int main() { multiset <int> ms; ms.insert(1); ms.insert(5); ms.insert(5) 阅读全文
posted @ 2023-10-29 14:33 小海哥哥de 阅读(51) 评论(0) 推荐(0) 编辑
摘要:一、死锁代码 #include <iostream> #include <thread> #include <mutex> using namespace std; mutex mt1; mutex mt2; void thread1(){ cout << "thread1 begin" << en 阅读全文
posted @ 2023-10-25 10:46 小海哥哥de 阅读(250) 评论(0) 推荐(0) 编辑
摘要:// class.h #ifndef CLASS_H #define CLASS_H #include<iostream> #include<functional> #include <memory> #include <map> #include <stdarg.h> using namespac 阅读全文
posted @ 2022-11-18 19:12 小海哥哥de 阅读(66) 评论(0) 推荐(0) 编辑
摘要:背景 静态库提供注册接口 主程序调用注册接口注册 主程序获取注册结果 /*example*/ ///静态库 register.h static std::map<std::string, std::string> register_map; #define REGISTER(name, fun). 阅读全文
posted @ 2022-11-18 17:29 小海哥哥de 阅读(163) 评论(0) 推荐(0) 编辑
摘要:资料: https://blog.csdn.net/shift_wwx/article/details/79020617 阅读全文
posted @ 2022-11-14 16:36 小海哥哥de 阅读(30) 评论(0) 推荐(0) 编辑
摘要:简介 RVO,是Return Value Optimization。这是在函数返回返回值的时候编译器所做出的优化,是C++11标准的一部分,C++11称之为copy elision。 在第一次编写的函数里面,编译器明确知道函数会返回哪一个局部对象,那么编译器会把存储这个局部对象的地址和存储返回值临时 阅读全文
posted @ 2022-11-11 16:58 小海哥哥de 阅读(87) 评论(0) 推荐(0) 编辑
摘要:前言 反射的概念:指程序在运行时,访问、检测和修改它本身状态或行为的一种能力。wikipedia 简单的来说,就是一种自描述和自控制的能力。如果联想到镜子,就可以很好的理解,你能通过镜子看到自己,包括自己的动作,自己的外表。唯一不同的地方是,计算机语言的反射能力还包含对看到的自己采取措施。 反射的作 阅读全文
posted @ 2022-11-03 10:39 小海哥哥de 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:一、定义 1、可以把它理解为C++的宏,命令如下 macro(<name> [<arg1> ...]) <commands> endmacro() 定义一个名为的宏,它接受名为,…等一系列的参数。macro与endmacro之间列出的命令,在宏被调用之前不会执行。 message("命名参数是必须的 阅读全文
posted @ 2022-10-26 19:46 小海哥哥de 阅读(478) 评论(0) 推荐(0) 编辑
摘要:资料:https://blog.csdn.net/Cdreamfly/article/details/123242759 阅读全文
posted @ 2022-10-08 12:03 小海哥哥de 阅读(21) 评论(0) 推荐(0) 编辑
摘要:对应字符串1、直接拼接;2、使用+=拼接;3、stringstream 代码如下 #include <stdio.h> #include <stdlib.h> #include <iostream> #include <string> #include <time.h> #include <sstr 阅读全文
posted @ 2022-09-27 16:41 小海哥哥de 阅读(411) 评论(0) 推荐(0) 编辑
摘要:## 一、TLS的由来 在多程线程序设计中,很多时候对数据进行划分,不同的数据区域交给不同的线程处理,可以避免[多线程](https://so.csdn.net/so/search?q=多线程&spm=1001.2101.3001.7020)中竞争访问数据。但是有一个问题得考虑,那就是:各个独立线程 阅读全文
posted @ 2022-08-19 17:52 小海哥哥de 阅读(614) 评论(0) 推荐(0) 编辑
摘要:在拥挤和变化的世界中茁壮成长:C++ 2006–2020 阅读全文
posted @ 2022-06-24 11:39 小海哥哥de 阅读(29) 评论(0) 推荐(0) 编辑
摘要:现代c++编程是指使用C++11之后的版本进行开发。 资料 C++17 入门 阅读全文
posted @ 2022-05-27 12:09 小海哥哥de 阅读(82) 评论(0) 推荐(0) 编辑
摘要:三种异步编程的方式 1、packaged_task 2、async 3、promise #include <iostream> #include <future> #include <thread> int main() { // 来自 packaged_task 的 future std::pac 阅读全文
posted @ 2022-05-26 16:27 小海哥哥de 阅读(774) 评论(0) 推荐(0) 编辑
摘要:参数资料: C++ 从&到&&从左值引用到右值引用 c++11-17 模板核心知识(十)—— 区分万能引用(universal references)和右值引用 C++ 右值,右值引用以及万能引用 阅读全文
posted @ 2022-05-02 21:49 小海哥哥de 阅读(52) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> #include <atomic> #include <condition_variable> #include <thread> #include <pthread.h> #include <chrono> using namespace std::chro 阅读全文
posted @ 2022-03-08 17:19 小海哥哥de 阅读(349) 评论(0) 推荐(0) 编辑
摘要:1、有core文件:通过gdb调试 2、通过dmesg命令可以看到堆栈信息 test $: dmesg | grep test [10897156.978602] traps: test[3816950] general protection fault ip:13e9eb8 sp:7f837fbf 阅读全文
posted @ 2022-01-14 17:31 小海哥哥de 阅读(484) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示