自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 侯捷 c++ 内存管理笔记 p24-p30

std::alloc 运行原理16个指针一开始全为0以后申请内存时优先看已申请为备用的(占备池)进行分配,RoundUp为追加量,,,累计申请量>>4 (/16)

2022-02-11 14:35:57 513

原创 bind1st和bind2nd以及c++11 bind 的用法

#include <iostream>#include <functional>#include <algorithm>#include <vector>using namespace std;using namespace std::placeholders;/** * * 原来只能使用bind1st bind2nd绑定 * * c++11使用bind即可 * using namespace std::placeholders;

2022-02-07 17:28:13 499

原创 侯捷 c++ 内存管理笔记 p16-p23

new handler理解C++ new-handler机制=default =deleteC++中的 =default和=deleteVC6 malloc申请一块12字节大小的内存,vc6实际分配大小为0x40 (56),其中绿色的pad为填补所用VC6标准分配器实现BC5标准分配器实现G2.9标准分配器实现G2.9 std::alloc VS G4.9 __pool_allocstd::alloc16条链表,都为指针,每条负责一种大小的内存,依次为8、16…16*8字

2022-02-06 19:03:12 813

原创 侯捷 c++ 内存管理笔记 p12-p15

per-class allocatorversion 1Screen *p[N]声明p为一个指针数组,每个位置存放一个Screen *然后for循环逐个分配内存结果:左面间隔8,为自身大小,没有上下所带的cookie(4字节)右面为::opeartor new,间隔16=自身大小+上下携带cookie*2version 2此类加了union,内部使用了嵌入式指针(embedded pointer)相关知识:union用法嵌入式指针union中包含一个struct和一个指针,大

2022-02-04 21:36:05 921

原创 侯捷 c++ 内存管理笔记 p7-p11

array new,array deletedelete [] buf 调用析构函数,若为delete buf,则只会调用一次此处int并没有析构函数,因此[]加不加是无所谓的但如果放的是对象,且其析构函数是有意义的,则需要加[]placement newchar *buf=new char[sizeof(Complex)*3];//(buf) 括号内部即为operator new参数Complex* pc=new(buf)Complex(1,2);...delete [] buf;

2022-02-03 18:04:24 858

原创 effective C++条款52案例

#include <iostream>using namespace std;class A{public: static void *operator new(std::size_t size) throw(std::bad_alloc) { cout << "A new" << endl; return ::operator new(size); } static void operator de

2022-02-03 15:10:30 1908

原创 C++ rb_tree的几种构造方法

在学习rbtree时,看到第四个模板参数为class _Compare,以下为构造rbtree的几种方法#include <iostream>#include <bits/stl_tree.h>#include <functional>using namespace std;template <class T>struct identity : public unary_function<T, T>{ const T &amp

2022-02-02 22:38:32 296

原创 C++ Lambda 表达式作为类模板参数

学习C++ rbtree时发现第四个模板参数为class _Compare,若不使用标准库自带的less<>等模板目前我只发现通过构造类编写operator()或通过std::function<>才能通过编译#include <iostream>#include <deque>#include <bits/stl_tree.h>#include <functional>using namespace std;temp.

2022-02-02 22:28:23 638

原创 侯捷 c++ 内存管理笔记 p1-p6

c++ memory primitives四种内存使用方式malloc(size_t size);new ClassName;例:在这里插入代码片Complex *pc=new Complex(1,2);//调用普通new//编译器转为如下Complex *pc;try{ void* mem=operator new(sizeof(Complex));//调用operator new(size_t size) pc=static_cast<Complex*>mem;

2022-02-02 19:52:22 656

原创 effectiveC++ 条款43案例

#include <string>#include <iostream>class CompanyA{public: void sendClearText(const std::string &msg){std::cout<<"A"<<std::endl;} void sendSecretText(const std::string &msg);};class CompanyB{public: void sendClearT.

2022-01-29 16:14:07 517

原创 多项式mod的运算(例题)

https://blog.csdn.net/yaongtime/article/details/17200401根据上述作者方法此处作一例题,题目对应https://www.bilibili.com/video/BV1zt411S7r8信息安全数学基础——哈尔滨工业大学P27题目

2021-07-19 23:54:13 3989 3

原创 每次进入终端都要重新source /etc/profile 才能workon

Linux 中python virtualenv安装和路径变量设置,以及解决每次进入终端都要重新source /etc/profile 才能workon1、virtualenv 安装sudo pip install virtualenv sudo pip install virtualenvwrapper2、路径变量设置我一开始设置在了/etc/profile中,写在最末尾即可export WORKON_HOME=$HOME/.virtualenvssource /usr/...

2021-05-04 22:49:16 507

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除