C++
文章平均质量分 72
MAXXD
这个作者很懒,什么都没留下…
展开
-
C++ vector探索
stl::vector原创 2022-05-23 20:41:19 · 236 阅读 · 0 评论 -
std::ref
std::ref作用:将一个类型为对象或函数的实参包装为一个可以隐式转化或显式获取引用的类。在std::thread构造函数中,虽然参数类型为右值引用类型,但只是为了将那些只能进行移动的类型捕获,而实际上构造函数将无视实例化类型,仅拷贝提供的变量。使用引用包装器,将使得那些需要对实参进行引用的形参(T&)得到正确初始化,从而在新线程函数中能够对共享内容进行读取、修改。原码://仅接受左值template<class _Ty> _NODISCARD inline refe原创 2022-05-08 00:15:49 · 186 阅读 · 0 评论 -
C++对象移动
std::move,std::forward,value category原创 2022-05-03 17:05:50 · 1108 阅读 · 0 评论 -
C++RTTI运算符
概述运行时类型识别(RTTI)两个重要运算符:typeid:返回表达式类型。dynamic_cast:将基类指针或引用安全转换成派生类的指针或引用。oop回顾:不存在从基类向派生类的隐式转换。原因是因为派生类对象中包含基类部分和派生类部分,而基类对象中只包含有基类部分。不存在基类指针或引用绑定在一个派生类对象,又将基类转换为派生类。该操作在编译时就会引发错误,原因是编译器无法确定某个特定转换是运行时安全的,其只能检查static type。dynamic_cast运算符RTTI运算符原创 2022-03-21 17:50:48 · 1008 阅读 · 0 评论 -
C++智能指针
typora-copy-images-to: ./智能指针知识总结:来源cpp,自己总结复习用。对象与内存内存分布:静态内存:局部static对象,类static数据成员,函数之外定义的变量。栈内存:定义在函数内的非static对象。内存池(自由空间,堆):动态分配对象——运行时分配的对象。自动和static对象的内存管理:全局对象,程序启动时分配内存,程序结束时释放内存。局部自动对象,进入定义的程序块后分配内存,离开块之后释放内存。局部static对象,首次使用前.原创 2021-09-23 16:59:18 · 98 阅读 · 0 评论 -
c++ 中sizeof 与数组形参
c++ 中sizeof 与数组形参sizeof,返回表达式或类型名所占用的字节数。 int x[10]; int* p = x; cout << sizeof(x) << endl; //40,结果为数组占用的总空间 cout << sizeof(*x) << endl; //4,结果为数组类型占用的空间 cout << sizeof(p) << endl; //4,结果为指针占用的空间 cout <<原创 2021-09-19 17:48:18 · 904 阅读 · 0 评论