上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 25 下一页
摘要: 在 C++ 中,system 是一个函数,通常定义在 <cstdlib> 库中,它允许程序调用操作系统的命令行解释器(如 Unix/Linux 中的 shell)来执行指定的命令。在 CentOS 7(一个基于 Linux 的操作系统)中,使用 system 函数可以执行几乎任何可以在命令行中运行的 阅读全文
posted @ 2024-03-17 14:40 He_LiangLiang 阅读(118) 评论(0) 推荐(0) 编辑
摘要: CentOS 7系统默认不包含FFmpeg工具,但可以通过安装第三方YUM源来安装。以下是安装FFmpeg的步骤: 升级yum: sudo yum install epel-release -y sudo yum update -y 安装Nux Dextop Yum源: sudo rpm --imp 阅读全文
posted @ 2024-03-17 13:43 He_LiangLiang 阅读(1312) 评论(0) 推荐(1) 编辑
摘要: 在C++中,std::promise对象调用get_future()方法返回一个std::future对象,而不是指针、引用或其他类型的对象。std::future对象用于获取与std::promise对象相关联的异步操作的结果。 std::promise和std::future是C++标准库中的一 阅读全文
posted @ 2024-03-17 13:11 He_LiangLiang 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 使用valgrind 检查内存 --tool=memcheck 我们的可执行文件是 ./bin/thread_13,它有内存泄漏的问题,需要valgrind来检查分析。 将日志输出到 t13_memcheck.log 2>&1 是一个特殊的重定向,它会把标准错误(stderr,通常是错误消息)重定向 阅读全文
posted @ 2024-03-17 10:58 He_LiangLiang 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 列表初始化(List Initialization)是C++11引入的一种新的初始化方式,它使用大括号 {} 来包围初始化器的值。这种初始化方式提供了更高的灵活性和安全性,特别是在处理聚合类型(如数组、结构体和类)以及在某些需要避免函数声明歧义的情况下。 下面我将详细讲解列表初始化的几个关键方面,并 阅读全文
posted @ 2024-03-17 00:22 He_LiangLiang 阅读(760) 评论(0) 推荐(0) 编辑
摘要: 不可以将 std::atomic<int> atomicInt(0); 改为 std::atomic<int> atomicInt = 0;。原因如下: 在C++中,对象的初始化与赋值是两个不同的操作,它们有不同的语义和用途。 初始化 (std::atomic<int> atomicInt(0);) 阅读全文
posted @ 2024-03-17 00:13 He_LiangLiang 阅读(451) 评论(0) 推荐(0) 编辑
摘要: gprof:这是一个GNU的性能分析工具,主要用于分析程序的函数调用关系,以及每个函数的运行时间等。 Valgrind:这是一个用于内存调试、内存泄漏检测以及性能分析的开源工具集。其中,Valgrind的Callgrind工具可以收集程序运行时的函数调用信息,用于性能分析。 perf:这是Linux 阅读全文
posted @ 2024-03-16 11:06 He_LiangLiang 阅读(2687) 评论(0) 推荐(0) 编辑
摘要: 单例模式的3种实现方式: 饿汉式、 懒汉式 双重检查 1. 饿汉式(Eager Initialization) 饿汉式单例模式在类加载时就创建实例,因此线程安全,但可能会增加程序启动时间和内存消耗。 #include <iostream> class Singleton { public: // 获 阅读全文
posted @ 2024-03-13 12:06 He_LiangLiang 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 今天去一家公司面试,一上来就是一个让我懵逼的问题,后面是一连串的类似懵逼问题。 这些问题记录如下: 1.读溢出,会报什么错? 2.写溢出,会报什么错? 3.库函数shutdown()是同步调用还是异步调用? 4.什么是粘包问题?粘包如何解决? 5.有2个线程在对一个socket套接字同时调用 sen 阅读全文
posted @ 2024-03-12 20:43 He_LiangLiang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 这是一个base16 编码/解码 的方法。而且支持中文的编码和解码。 代码由chatgpt-3.5生成: #include <iostream> #include <string> const std::string base16 = "0123456789ABCDEF"; void Base16E 阅读全文
posted @ 2024-03-11 22:48 He_LiangLiang 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 在这个单例模式的实现中,使用了静态局部变量来确保只有一个实例。 静态局部变量只会在第一次调用函数时初始化,并且在程序的整个生命周期内保持其值不变。 这意味着,无论多少次调用 getInstance() 方法,都只会在第一次调用时创建一个实例,后续的调用会返回同一个实例。 具体来说,在 getInst 阅读全文
posted @ 2024-03-10 21:22 He_LiangLiang 阅读(19) 评论(0) 推荐(0) 编辑
摘要: template< class... Args >void emplace_back( Args&&... args ); (C++11 起)(C++17 前) template< class... Args >reference emplace_back( Args&&... args ); (C 阅读全文
posted @ 2024-03-06 13:23 He_LiangLiang 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 面试的时候,有时候会问到你对shell的了解,要你说出你知道的一些SHELL命令。 安装: yum install xxx yum remove xxx wget xxx 压缩,解压缩 tar -zxvf xxx tar -zcvf xxx zip xxx unzip xxx 系统相关: chmod 阅读全文
posted @ 2024-03-06 11:20 He_LiangLiang 阅读(7) 评论(0) 推荐(0) 编辑
摘要: `strcpy`和`memcpy`都是用于内存复制的函数,但它们之间有几个关键的区别: 1. **复制的对象**: - `strcpy`主要用于复制字符串,它将从源字符串的起始位置开始复制字符,直到遇到源字符串的空字符('\0'),然后将空字符也复制到目标字符串中,表示字符串的结束。 - `memc 阅读全文
posted @ 2024-03-04 22:23 He_LiangLiang 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 在C++中,std::priority_queue 默认实现的是一个大顶堆(Max-Heap), 其中每个父节点的值都大于或等于其子节点的值。 然而,通过指定第三个模板参数为比较函数或函数对象,可以改变这一默认行为。 std::priority_queue<int, std::vector<int> 阅读全文
posted @ 2024-03-03 16:35 He_LiangLiang 阅读(190) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <memory> class MyClass { public: MyClass() { std::cout << "MyClass constructed" << std::endl; } ~MyClass() { std::cout << 阅读全文
posted @ 2024-03-02 16:31 He_LiangLiang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: https://zh.cppreference.com/w/ cppreference.com 是一个在线的 C++ 参考手册网站,提供了广泛的 C++ 相关信息,包括标准库、语言特性、算法、数据结构等方面的文档。该网站是 C++ 开发者的重要资源之一,它的内容通常比较全面,详细说明了 C++ 的各 阅读全文
posted @ 2024-01-25 16:55 He_LiangLiang 阅读(73) 评论(0) 推荐(0) 编辑
摘要: std::ref() 是C++标准库 <functional> 头文件中的函数模板,用于将一个对象包装成一个引用包装器(reference wrapper)。引用包装器允许你在使用函数模板时传递对象的引用而不是拷贝对象本身。 下面是 std::ref() 的基本用法和解释: #include <io 阅读全文
posted @ 2024-01-25 08:27 He_LiangLiang 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 完整的 OpenSSL,包括命令行工具和开发包,可以运行以下命令: sudo yum install openssl openssl-devel 使用以下命令验证 OpenSSL 是否已经成功安装: openssl version 阅读全文
posted @ 2024-01-22 17:23 He_LiangLiang 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 提问: 我写了一个C++的代码,用的cmake来管理的代码。 我的C++代码里面用到了 #include <openssl/ssl.h> 。 我在cmake里面有 include_directories(/usr/include), 因为openssl在/usr/include目录下面。 cmake 阅读全文
posted @ 2024-01-22 17:15 He_LiangLiang 阅读(2223) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 25 下一页