随笔分类 -  c++

error: use of deleted function ‘std::unique_ptr<_Tp, _Dp>::unique_ptr(...
摘要:错误发生的场景 #include<memory> #include<iostream> //用于测试错误的类 class TestClass { public: int value_=0; }; //用来测试传入unique_ptr的函数 void testPtrFunction(std::uniq 阅读全文
posted @ 2023-01-10 14:00 Malphite 阅读(166) 评论(0) 推荐(0) 编辑
dlopen、dlsym、dlclose加载动态链接库
摘要:采用dlopen、dlsym、dlclose加载动态链接库 转载请标注,熬夜写的文章,挺辛苦 ... 环境 系统: 16.04.1-Ubuntu 编译器: gnu 5.4.0 dlopen、dlsym及dlclose 基本使用 // file : add.c int add(int a, int b 阅读全文
posted @ 2022-05-06 14:28 Malphite 阅读(357) 评论(0) 推荐(0) 编辑
C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast
摘要:1. c强制转换与c++强制转换 c语言强制类型转换主要用于基础的数据类型间的转换,语法为: (type-id)expression//转换格式1 type-id(expression)//转换格式2 c++除了能使用c语言的强制类型转换外,还新增了四种强制类型转换:static_cast、dyna 阅读全文
posted @ 2022-03-16 09:02 Malphite 阅读(112) 评论(0) 推荐(0) 编辑
STL-multimap
摘要:1 案例描述 公司今天招聘了10个员工(A、B、C、D、E、F、G、H、I、J),10名员工进入公司之后,需要指派员工在哪个部门工作; 员工信息有:姓名、工资组成;部门分为:策划、美术、研发; 随机给10名员工分配部门和工资; 通过multimap进行信息的插入key(部门编号)和value(员工) 阅读全文
posted @ 2022-01-09 16:24 Malphite 阅读(29) 评论(0) 推荐(0) 编辑
菱形继承问题以及解决
摘要:1.1 解决问题利用虚基类 1.2 sheepTuo内部结构 1.2.1 vbptr 虚基类指针 1.2.2 指向一张 虚基类表 1.2.3 通过表找到偏移量 1.2.4 找到共有的数据 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using 阅读全文
posted @ 2021-03-01 20:35 Malphite 阅读(130) 评论(0) 推荐(0) 编辑
友元
摘要:1 友元 1.1 全局函数做友元函数 1.1.1 全局函数写到 类中做声明 并且最前面写关键字 friend 1.2 让整个类 做友元类 1.2.1 friend class 类名 1.2.2 友元类 是单向,不可传递的 1.3 让成员函数做友元函数 1.3.1 friend void goodGa 阅读全文
posted @ 2021-02-09 21:07 Malphite 阅读(116) 评论(0) 推荐(0) 编辑
常函数 常对象
摘要:1 常函数 常对象 1.1 常函数 void func() const {} 常函数 1.2 常函数 修饰是this指针 const Type * const this 1.3 常函数 不能修改this指针执行的值 1.4 常对象 在对象前 加入 const修饰 const Person p1 1. 阅读全文
posted @ 2021-02-09 20:51 Malphite 阅读(126) 评论(0) 推荐(0) 编辑
CString::CompareNoCase与CString::Compare的区别
摘要:转载:https://blog.csdn.net/lingdxuyan/article/details/4362116 函数原型:int CompareNoCase( LPCTSTR lpsz ) const;返回值:该函数对两个CString对象进行,如果内容完全一致则返回0;如果小于lpsz,则 阅读全文
posted @ 2019-12-04 17:52 Malphite 阅读(1016) 评论(0) 推荐(0) 编辑
C++中 =default 和 =delete 使用
摘要:编译器默认为一个类生成的默认函数 =delete 1. 禁止使用编译器默认生成的函数 假如上面的几个函数中,不想使用其中某个,可以将其定义为private,或者使用=delete。 2. delete 关键字可用于任何函数,不仅仅局限于类的成员函数 3. 模板特化:在模板特例化中,可以用delete 阅读全文
posted @ 2019-09-28 08:47 Malphite 阅读(2766) 评论(1) 推荐(2) 编辑
c++ unordered_map 自定义key
摘要:C++11新增了一类散列容器包括unordered_set, unordered_map, unordered_multiset, unordered_multimap, 即之前熟悉的hash_set, hash_map等。 这类容器底层以哈希表实现之,通过unordered_map介绍下这类容器的 阅读全文
posted @ 2019-09-22 18:49 Malphite 阅读(4900) 评论(0) 推荐(0) 编辑
c++ list的坑
摘要:std::list为空时调用pop_front的访问越界问题 std::list为空时调用pop_back访问越界问题 所以在使用pop_front 、 pop_back要先判断list是否为空 std::list为empty时调用pop_front导致程序崩溃 如果list中装的是指针,当其为em 阅读全文
posted @ 2019-09-22 12:24 Malphite 阅读(1329) 评论(0) 推荐(0) 编辑
c++ vector 的坑
摘要:一个空的vector执行pop_back操作会发生什么 由于之前看STL源码剖析的时候,发现所执行的操作如下: 只是简单的将末尾的finish迭代器减1后destroy。这让人产生一个疑问:假如这个vector为空了,finish=start了,finish再减1不就不在vector的内存控制范围了 阅读全文
posted @ 2019-09-22 12:03 Malphite 阅读(3690) 评论(0) 推荐(0) 编辑
C++ 单例模式总结与剖析
摘要:本文转自:https://www.cnblogs.com/sunchaothu/p/10389842.html C++ 单例模式总结与剖析 单例可能是最常用的简单的一种设计模式,实现方法多样,根据不同的需求有不同的写法; 同时单例也有其局限性,因此有很多人是反对使用单例的。本文对C++ 单例的常见写 阅读全文
posted @ 2019-09-17 23:47 Malphite 阅读(398) 评论(0) 推荐(0) 编辑
值得推荐的C/C++开源框架和库
摘要:原文:https://www.cnblogs.com/arxive/p/6907546.html 有哪些值得推荐的c/c++开源框架与库 - 知乎 (zhihu.com) 阅读全文
posted @ 2019-09-10 09:43 Malphite 阅读(185) 评论(0) 推荐(0) 编辑
C++,Windows/MFC_中L和_T()之区别
摘要:字符串前面加L表示该字符串是Unicode字符串。_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从 阅读全文
posted @ 2019-06-13 09:35 Malphite 阅读(1193) 评论(0) 推荐(0) 编辑