C/C++
康雨城
Talk is cheap, show me the code
展开
-
【cmu15445c++入门】(14)C++的 =delete和=default
(1)=default在C++中,= default 是一种特殊的语法,用于显式地请求编译器生成一个函数的默认实现。当应用于构造函数时,= default 告诉编译器生成一个默认构造函数。默认构造函数是一个不接受任何参数的构造函数。(2)=delete在C++中,=delete 是一种特殊的语法,用于显式地删除(禁止)某个函数的生成。当应用于函数时,=delete 表示该函数不应被生成,尝试调用该函数会导致编译错误。原创 2024-04-19 20:15:00 · 334 阅读 · 0 评论 -
【cmu15445c++入门】(13)C++的std::promise
std::promise 是C++11并发编程中常用的一个类,常配合std::future使用。其作用是在一个线程t1中保存一个类型typename T的值,可供相绑定的std::future对象在另一线程t2中获取原创 2024-03-01 18:09:19 · 242 阅读 · 0 评论 -
【cmu15445c++入门】(11)C++锁scoped_lock和unique_lock(读写锁)
当对象被构造时,锁被获取,当对象被破坏时,锁被释放。原创 2024-02-27 20:13:20 · 500 阅读 · 0 评论 -
【cmu15445c++入门】(10)C++锁mutex
lock和unlock。原创 2024-02-26 19:06:00 · 310 阅读 · 0 评论 -
【cmu15445c++入门】(9)C++ 智能指针shared_ptr
std::shared_ptr 是一种智能指针,它通过指针保留对象的共享所有权。这意味着多个共享指针可以拥有同一个对象,并且可以复制共享指针。原创 2024-02-19 12:29:30 · 244 阅读 · 0 评论 -
【cmu15445c++入门】(8)C++ 智能指针unique_ptr
现代C++标准库的两个智能指针是 std::unique_ptr 和 std::shared_ptr。在这个文件中,我们将讨论 std::unique_ptr。原创 2024-02-19 12:29:03 · 316 阅读 · 0 评论 -
【cmu15445c++入门】(7)C++ auto 关键字
auto 关键字是一个关键字,它告诉编译器通过其初始化表达式推断声明变量的类型。原创 2024-02-06 15:30:32 · 242 阅读 · 0 评论 -
【cmu15445c++入门】(6)c++的迭代器
C++ 迭代器是指向容器内元素的对象。它们可用于循环访问该容器的对象。我们知道迭代器的一个示例是指针。指针可用于循环访问 C 样式数组.原创 2024-02-05 17:57:18 · 281 阅读 · 0 评论 -
【cmu15445c++入门】(5)C++ 包装类(管理资源的类)
c++包装类。原创 2024-02-01 22:00:00 · 273 阅读 · 0 评论 -
We recommend that you use clang-14 for developing BusTub.You‘re using GNU 11.2.0, which is not clang
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-14 30sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-14 30原创 2024-01-19 16:03:18 · 575 阅读 · 0 评论 -
【cmu15445c++入门】(2)c++中的std::move() 左值引用右值引用
要理解move语义,必须理解左值和右值的概念。左值的简化定义是左值是对象,指向内存中某个位置。右值是左值之外的任何。std::move 是将对象从一个左值移动到另一个左值的最常见方法。std::move 将表达式转换为右值。这允许我们将左值作为右值进行交互,并允许所有权从一个左值转移到另一个左值。原创 2024-01-08 12:39:31 · 639 阅读 · 0 评论 -
【cmu15445c++入门】(3)c++中的std::move() 用于构造函数
move构造函数和move赋值运算符是在类内部实现的方法,用于有效地将资源从一个对象移动到另一个对象,这些类方法采用相同类型的另一个对象,并将其资源移动到调用该方法的实例中。原创 2024-01-08 12:31:07 · 499 阅读 · 0 评论 -
undefined reference to `pthread_create‘的另外一种解法
增加源:deb http://mirrors.aliyun.com/ubuntu/ jammy main然后:sudo apt update;sudo apt install libc6原创 2024-01-02 08:00:00 · 971 阅读 · 0 评论 -
解决[ Ubuntu ]E: Unable to locate package clang-14
# 下载脚本wget https://mirrors.tuna.tsinghua.edu.cn/llvm-apt/llvm.shchmod +x llvm.sh./llvm.sh 14 all -m https://mirrors.tuna.tsinghua.edu.cn/llvm-apt原创 2024-01-01 13:05:40 · 1586 阅读 · 0 评论 -
实现第一个内核程序的Hello World
编写module_init的代码,并将其保存为*.c文件。在代码中包含必要的头文件,如和。定义module_init()函数,该函数将在模块加载时被调用。使用MODULE_LICENSE()宏指定您的代码的许可证。在终端上使用make命令来编译代码。如果还没有安装内核头文件,则需要先安装它们。将编译后的模块加载到内核中,使用insmod命令加载模块。如果需要卸载模块,则可以使用rmmod命令。原创 2023-06-03 22:59:47 · 749 阅读 · 0 评论 -
c++读取配置文件,并将配置存入map
有的时候,在命令行中输入太多的参数,不如直接在配置文件中写入参数。原创 2023-05-30 20:15:06 · 391 阅读 · 0 评论 -
c++实现将字符串数组中的字符串分配给N个线程处理
当我们需要用多线程处理相同的任务的时候,但线程的数量受到限制。因此需要把数据分给多个线程处理。原创 2023-05-30 19:53:54 · 227 阅读 · 0 评论 -
C++实现控制某个函数最多在1秒内执行N次
采用发令牌的方法,获取到令牌,就执行函数,获取不到令牌,就等待,并重新获取原创 2023-05-30 19:21:14 · 338 阅读 · 0 评论 -
上海计算机协会竞赛平台——整除
给定n个数字构成的一个多重集合:请求出,其中有多少元素不能被任意一个在集合中的其他元素整除?埃式筛法解决问题原创 2021-07-12 12:32:45 · 439 阅读 · 0 评论 -
Visual Studio 2019设置回车代码补全
工具 -> 选项 -> 文本编辑器 -> C/C++ -> 高级 -> 主动提交成员列表设置为TRUE原创 2021-02-19 20:03:40 · 3427 阅读 · 0 评论