
笔记
文章平均质量分 66
木有鱼丸112
我的简述
展开
-
C++导出类修改的潜在风险
C++类的内存存储1. 成员函数的内存存储class ClassA{public: void Test() {}public: int64_t a;};如上定义一个类,定义一个成员函数void Test()和一个成员变量int64_t a。那么sizeof(ClassA)会是多少呢?实测结果是: 88也就是成员变量a占用内存的大小。那么成员函数void Test()在哪存储呢?还有default的构造函数,析构函数,拷贝构造,赋值运算符重载都在哪存储呢?事实上,C++编原创 2021-03-17 21:23:21 · 290 阅读 · 0 评论 -
stl中的排序(2) sort/stable_sort
C++中sort和stable_sort的区别sort是快速排序实现,因此是不稳定的;stable_sort是归并排序实现,因此是稳定的;对于相等的元素sort可能改变顺序,stable_sort保证排序后相等的元素次序不变;Compare函数分析源码,确定compare函数的用法sort函数的两个重载:template <class RandomAccessIterator>inline void sort(RandomAccessIterator first, Random原创 2021-01-27 20:07:45 · 415 阅读 · 0 评论 -
c++11 type_traits类型萃取
一. c++ traits定义type_traits使用模板技术来萃取类型(包含自定义类型和内置类型)的某些特性,用以判断该类型是否含有某些特性,从而在泛型算法中来对该类型进行特殊的处理用来提高效率或者其他。通过type_traits可以实现在编译期计算、查询、判断、转换和选择,增强了泛型编程的能力,也增强了程序的弹性,使得我们在编译期就能做到优化改进甚至排错,能进一步提高代码质量。二.几个栗子http://www.cplusplus.com/reference/type_traits/?kw=ty原创 2021-02-22 17:09:48 · 839 阅读 · 0 评论