随笔分类 -  C++

关于c++的学习笔记
摘要:由于VirtualBox项目在6.0版本后仅支持64位。因此,本次编译的版本号为5.2.44,最后一个同时支持32位和64位的版本。 虽然有官方的编译指南,但是该指南并不清晰,并且并不适应所有版本。同样,本指南也并不适用于所有版本,仅在5.2.44上测试通过。 Prerequisites WIN10 阅读全文
posted @ 2024-07-26 17:49 围城chen 阅读(820) 评论(0) 推荐(0)
摘要:std::move 首先,有如下代码: class Widget { public: void setName(const std::string& newName) // set from { name = newName; } // const lvalue void setName(std:: 阅读全文
posted @ 2024-07-11 15:51 围城chen 阅读(60) 评论(0) 推荐(0)
摘要:背景 当存在一个主线程和一个子线程,主线程负责将数据放入一个无锁队列中,并通知子线程从队列中取出数据,进行处理。 通常的做法是,通过条件变量,主线程调用notify_one,而子线程在wait处阻塞,当收到notify_one通知时,子线程被唤醒开始处理。 // 主线程 bool FileMonit 阅读全文
posted @ 2024-06-27 11:41 围城chen 阅读(95) 评论(0) 推荐(0)
摘要:为什么deleter的类型是std::unique_ptr类型的一部分,而不是std::shared_ptr的一部分? std::unique_ptr<Widget, decltype(loggingDel) > upw(new Widget, loggingDel); std::shared_pt 阅读全文
posted @ 2024-06-21 17:00 围城chen 阅读(80) 评论(0) 推荐(0)
摘要:条款18中的完整代码: 点击查看代码 #include <iostream> #include <memory> #include <string> // 假设基础的 Investment 类和 Stock 类 class Investment { public: virtual ~Investme 阅读全文
posted @ 2024-06-21 16:59 围城chen 阅读(37) 评论(0) 推荐(0)
摘要:strlen 函数 std::size_t strlen( const char* str ); 返回给定字符串的长度,即从str指向的首元素到以首个空字符\0结尾的字符串的字符数,注意:不包含\0。 sizeof 运算符 查询对象或类型的大小。即求数据类型所占的空间大小。 语法 sizeof(表达 阅读全文
posted @ 2022-06-01 20:18 围城chen 阅读(44) 评论(0) 推荐(0)
摘要:动态申请一维数组 new/delete #include<iostream> using namespace std; void getMem1d(int* &p, int n) { p=new int[n]; for(int i=0;i<n;i++) { p[i] = i; } } int mai 阅读全文
posted @ 2022-05-10 15:29 围城chen 阅读(487) 评论(0) 推荐(0)
摘要:纯虚函数和抽象类 1. 纯虚函数与抽象类 C++中的纯虚函数(或抽象函数)是我们没有实现的虚函数!我们只需声明它! 通过声明中赋值0来声明纯虚函数! 纯虚函数:没有函数体的虚函数 抽象类:包含纯虚函数的类 抽象类只能作为基类来派生新类使用,不能创建抽象类的对象。但可以使用抽象类的指针和引用->由抽象 阅读全文
posted @ 2022-05-03 20:48 围城chen 阅读(102) 评论(0) 推荐(0)
摘要:内存对齐 什么是内存对齐? 假设我们同时声明两个变量: char a; short b; 用&(取地址符号)观察变量a,b的地址的话,我们会发现(以16位CPU为例):如果a的地址是0x0000,那么b的地址将会是0x0002或者是0x0004。 那么就出现这样一个问题:0x0001这个地址没有被使 阅读全文
posted @ 2022-04-29 11:41 围城chen 阅读(131) 评论(0) 推荐(0)