
Boost 程序库完全开发指南:容器算法数学文件
array dynamic_bitset test:第n位是否为1 any:如果存在1,返回true none:不存在1,返回true count:容器中所有值为1的元素的数量 set:置全部或特定的位置值为1或0 reset:置全部或特定位置的值为0 flip:反转全部或特定位...
array dynamic_bitset test:第n位是否为1 any:如果存在1,返回true none:不存在1,返回true count:容器中所有值为1的元素的数量 set:置全部或特定的位置值为1或0 reset:置全部或特定位置的值为0 flip:反转全部或特定位...
noncopyable 实现一个禁止拷贝的类。 实现 使用 ignore_unused 让暂时用不到又必须保留的变量在编译时不报警告。 实现 用法 optional 常量 函数 optional:构造未初始化的对象。 optional(v):构造初始化的对象。 optional(...
timer timer 毫秒级别的精度。 <boost/timer.hpp> using namespace boost; progress_timer 派生自timer。 会在析构时自动输出流逝的时间。 <boost/progress.hpp> usin...
进程内存空间布局 当运行一个可执行文件时,操作系统就会把这个可执行文件加载到内存中,此时进程就会有一个虚拟的地址空间(内存空间)。 BSS存放未初始化或者初始化为0的全局变量。 Linux下,可以通过nm列出可执行文件中的全局变量的地址。 全局变量以及全局的函数在编译时就已经分配...
程序执行所用的时间 关于优化的一点 标准 C++标准允许一种(编译器)实现省略创建一个只是为了初始化另一个同类型对象的临时对象。指定这个参数(-fno-elide-constructors)将关闭这种优化,强制G++在所有情况下调用拷贝构造函数。 表现 当编译器遇到需要用一个类对...
空类大小 空类对象在内存中是有起始地址的,也就是说最少能存一个字节。所以一个空类的大小是1。 this指针调整 如果派生类继承自多个基类,那么派生类对象的开始地址和第一个基类子对象的开始地址是相同的。 调用派生类的成员函数的时候,会根据这个函数属于哪个基类,对this指针进行调整...
类中的类类型静态成员变量 概述 对于类类型的静态成员变量,即使没有被使用,也会执行这个静态成员变量的构造和析构。 对于int,double基础类型,如果没有用到,编译器可能不为它分配内存。 使用 老用法 C++17 函数中的类类型静态对象 概述 如果函数没有被调用过,该静态对象就...
对象和原始类型的区别 原始类型的值 是原始类型中的一种值。 在 JavaScript 中有 7 种原始类型:string,number,bigint,boolean,symbol,null 和 undefined。 对象 能够存储多个值作为属性。 可以使用大括号 {} 创建对象,...
垃圾回收 JavaScript 中主要的内存管理概念是 可达性。 列出固有的可达值的基本集合,这些值明显不能被释放。这些值被称作 根(roots)。 当前函数的局部变量和参数。 嵌套调用时,当前调用链上所有函数的变量与参数。 全局变量。 (还有一些内部的) 如果一个值可以通过引用...
调试 debugger 可以使用 debugger 命令来暂停代码 代码风格 花括号 行长度 没有人喜欢读一长串代码,最好将代码分割一下。 缩进 水平方向上的缩进:2 或 4 个空格。 垂直方向上的缩进:用于将代码拆分成逻辑块的空行。 对象 对象则用来存储键值对和更复杂的实体。 ...