priority_queue默认是大根堆,要小根堆需显式指定容器和比较器:priority_queuepq;自定义排序须用仿函数类,operator()返回true表示a优先级低于b。...
C++类和对象怎么理解 C++面向对象编程核心概念图解【干货】
类是编译器识别的内存布局规则与函数绑定约定,本质为结构体加vtable语法糖;空类sizeof为1,含虚函数则至少8字节;对象内存位置决定生命周期,this是隐式传入的常量指针。...
C++ 引用占用内存吗 C++引用的底层实现原理揭秘【底层】
C++引用在内存中通常不单独占空间,编译器将其优化为原变量别名;仅当需持久化存储(如类成员、全局引用、lambda捕获)时,才隐式使用指针占用内存。...
C++ vector reserve作用 C++ 预分配内存减少拷贝次数【效率】
reserve不改变size只影响capacity,它预先分配至少指定大小的内存但不构造元素,因此size不变而capacity≥请求值,错误访问未构造位置会导致未定义行为。...
C++ typedef和using C++ 类型别名定义新旧对比【语法】
typedef易错因语法反直觉:先写类型再写别名,但类型可含指针、数组、函数签名等修饰,导致声明形似变量定义;using语法更直观且支持模板别名,是泛化场景唯一选择。...
