随笔分类 -  C/C++

摘要:目录字节流 (Byte Streams)字符流 (Character Streams)主要区别 在C++中,字节流和字符流是两种处理输入输出(I/O)的操作方式,它们都属于iostream库的一部分。它们的主要区别在于处理数据的基本单元和适用场景。 字节流 (Byte Streams) 字节流以字节 阅读全文
posted @ 2024-06-13 09:11 guanyubo 阅读(359) 评论(0) 推荐(0)
摘要:目录 在C++中跨线程传递指针时,需要注意线程安全和生命周期管理的问题。以下是一些常见的方法,用于在C++中安全地跨线程传递指针: 使用智能指针和线程安全队列 结合使用std::shared_ptr和线程安全的队列(如std::queue配合互斥锁)是一种常见的方法。 #include <iostr 阅读全文
posted @ 2024-05-29 17:22 guanyubo 阅读(502) 评论(0) 推荐(0)
摘要:ANSI C标准中有几个标准预定义宏(也是常用的): LINE:在源代码中插入当前源代码行号; FILE:在源文件中插入当前源文件名; DATE:在源文件中插入当前的编译日期 TIME:在源文件中插入当前编译时间; STDC:当要求程序严格遵循ANSI C标准时该标识被赋值为1; __cpluspl 阅读全文
posted @ 2024-04-07 17:31 guanyubo 阅读(258) 评论(0) 推荐(0)
摘要:目录 阅读全文
posted @ 2024-04-06 21:21 guanyubo 阅读(27) 评论(0) 推荐(0)
摘要:目录 reference 阅读全文
posted @ 2024-04-04 19:54 guanyubo 阅读(24) 评论(0) 推荐(0)
摘要:目录regexregex_match函数详解函数原型使用方法基本使用使用 std::smatch 获取更多信息注意事项regex_search函数详解函数原型使用方法基本使用使用 std::smatch 获取匹配信息注意事项regex_search和regex_match的区别 regex C++1 阅读全文
posted @ 2024-04-03 14:48 guanyubo 阅读(1548) 评论(0) 推荐(1)
摘要:目录 !!!不要直接使用[]来操作map,否则会有意想不到的错误。尽量使用map提供的函数(count、find、insert、erase)来操作map 242. 有效的字母异位词 描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个 阅读全文
posted @ 2024-03-26 22:02 guanyubo 阅读(59) 评论(0) 推荐(0)
摘要:目录哔哩哔哩2021校园招聘后端开发方向笔试卷 哔哩哔哩2021校园招聘后端开发方向笔试卷 1、Docker底层采用的linux隔离技术为 A epoll B cgroup C inotify D socket 参考 B. cgroup(Control Groups) Control Groups( 阅读全文
posted @ 2024-03-21 22:26 guanyubo 阅读(64) 评论(0) 推荐(0)
摘要:在C++中,你可以使用互斥锁(mutex)和条件变量(condition variable)来实现一个简单的限流器(流控)以及线程。下面是一个简单的例子,它创建了一个限流器类,该类允许一定数量的线程同时访问某个资源。 #include <iostream> #include <thread> #in 阅读全文
posted @ 2024-03-21 21:26 guanyubo 阅读(297) 评论(0) 推荐(0)
摘要:目录基本结构抛出异常异常处理的流程注意事项常见的标准异常类型示例 在C++中,try和catch是异常处理机制的关键字。异常处理是一种处理程序中特殊情况(即异常)的机制,这些情况通常在程序正常运行时不会发生,但一旦发生就需要特殊处理。 基本结构 异常处理的基本结构如下: try { // 尝试执行的 阅读全文
posted @ 2024-03-21 20:49 guanyubo 阅读(119) 评论(0) 推荐(0)
摘要:目录1. 介绍一下volatile关键字2. C++中的内联函数和宏的区别?3. 自己实现一个堆栈 C++实现 + 模板4. 函数后面加const的作用是什么?5. 纯虚函数和虚函数的区别?6. 抽象类和接口区别?7. malloc和calloc的区别?8. C++中的default关键字9. lo 阅读全文
posted @ 2024-03-21 18:46 guanyubo 阅读(40) 评论(0) 推荐(0)
摘要:目录 常见面试题答案 介绍一下volatile关键字 C++中的内联函数和宏的区别? 自己实现一个堆栈 C++实现 + 模板 函数后面加const的作用是什么? 纯虚函数和虚函数的区别? 抽象类和接口区别? malloc和calloc的区别? C++中的default关键字 lock_guard和u 阅读全文
posted @ 2024-03-20 15:08 guanyubo 阅读(37) 评论(0) 推荐(0)
摘要:目录1. 安装CMake2. 创建CMakeLists.txt文件3. 配置项目4. 构建项目5. 运行程序6. 调试和测试(可选)7. 安装和打包(可选) 在C++工程中,有多种方式可以构建项目,但CMake是其中一个非常流行和强大的跨平台构建工具。以下是使用CMake构建C++工程的基本步骤: 阅读全文
posted @ 2024-03-05 15:16 guanyubo 阅读(72) 评论(0) 推荐(0)
摘要:std::chrono 是 C++ 标准库中的一个模块,用于测量时间点和持续时间。它提供了多种时钟(clock)类型、时间点(time_point)类型、持续时间(duration)类型以及相关的函数和操作符,使得开发者能够在不同的精度和语义需求下,以一致的方式处理和操作时间。 主要组件 时钟(Cl 阅读全文
posted @ 2024-03-02 12:00 guanyubo 阅读(295) 评论(0) 推荐(0)
摘要:在C++中,当两个头文件互相引用时,可以通过前向声明来避免直接的#include依赖,从而解决循环依赖的问题。前向声明是在一个头文件中声明另一个头文件中的类或类型的名称,而不包括其具体的实现细节。这样,每个头文件只依赖对方的声明,而不需要依赖对方的定义,从而打破了循环依赖。 以下是如何通过前向声明来 阅读全文
posted @ 2024-02-28 16:41 guanyubo 阅读(2281) 评论(0) 推荐(0)
摘要:目录新特性详细介绍 新特性 C++14带来了一些重要的新特性,主要包括以下几个方面: Lambda初始化捕获:C++14允许在捕获列表中定义前面没有出现过的变量,但必须赋予一个值,并且不使用类型说明符和auto,类型由编译器自动推断。这在用作函数模板的实参时,能推导参数包并将其用于包展开。 废弃标志 阅读全文
posted @ 2024-02-26 14:30 guanyubo 阅读(252) 评论(0) 推荐(0)
摘要:目录"##"预处理运算符 "##"预处理运算符 在C++中,## 是一个预处理运算符,被称为“连接符”或“连接运算符”。当它在宏定义中出现时,它将其左右两边的标记(token)连接成一个标记。这在创建宏时特别有用,尤其是当你需要合并两个标记来形成一个新的、有效的标记时。 以下是一些使用 ## 的例子 阅读全文
posted @ 2024-01-28 17:31 guanyubo 阅读(75) 评论(0) 推荐(0)
摘要:目录地址转换问题unsigned long几个字节指针地址的使用 地址转换问题 #include <iostream> using namespace std; int main() { char test[8] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0 阅读全文
posted @ 2024-01-18 17:55 guanyubo 阅读(37) 评论(0) 推荐(0)
摘要:目录作用域解析运算符(scope resolution operator)::C++中单例模式为什么设置成静态的C++中 子类可以重写父类中的非虚函数吗C++中static变量的加载时机C++11中静态变量和静态初始化器的作用域是什么在C++中,当类被加载到内存时,以下类型的变量会被构建C++中 i 阅读全文
posted @ 2024-01-17 18:04 guanyubo 阅读(30) 评论(0) 推荐(0)
摘要:容器(Containers)、迭代器(Iterators)、算法(Algorithms)、函数对象(Function Objects)、适配器(Adaptors)、分配器(Allocators) 阅读全文
posted @ 2024-01-17 14:03 guanyubo 阅读(116) 评论(0) 推荐(0)