
Boost 程序库完全开发指南:工具与字符串
noncopyable 实现一个禁止拷贝的类。 实现 使用 ignore_unused 让暂时用不到又必须保留的变量在编译时不报警告。 实现 用法 optional 常量 函数 optional:构造未初始化的对象。 optional(v):构造初始化的对象。 optional(...
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++在所有情况下调用拷贝构造函数。 表现 当编译器遇到需要用一个类对...
1964年,12岁的普京成为了大杂院中的侠客,并开始学习摔跤,他学会了掩盖自己的感觉和情绪,遇事不动声色,头脑冷静敏锐,学会了准确地判断危险的方向。他后来的强者心态此时已经初露端倪,并且形成了信任、忠诚、秉公办事这些影响他一生的优良品质。 在柳德米拉眼中,普京很幽默,同时也决不轻...
空类大小 空类对象在内存中是有起始地址的,也就是说最少能存一个字节。所以一个空类的大小是1。 this指针调整 如果派生类继承自多个基类,那么派生类对象的开始地址和第一个基类子对象的开始地址是相同的。 调用派生类的成员函数的时候,会根据这个函数属于哪个基类,对this指针进行调整...
随着年龄的增长,我们不断地累积更多情绪包袱,人也被压得透不过气来。我们越是与情绪的重力对抗,前进所需要的动力就会越多。 如果我能更关注那些不相干的痛苦事件所带来的意义,而不是痛苦本身,我的人生中可能就会少一点痛苦。 那时我相信为了要成为一名成功的首席执行官,我需要变身为“超人”。...
类中的类类型静态成员变量 概述 对于类类型的静态成员变量,即使没有被使用,也会执行这个静态成员变量的构造和析构。 对于int,double基础类型,如果没有用到,编译器可能不为它分配内存。 使用 老用法 C++17 函数中的类类型静态对象 概述 如果函数没有被调用过,该静态对象就...
充分准备是让交谈更为顺利的最简单的方式,预先思考的越多,你就越自信。 罗马诗人贺拉斯曾说过,“当我们对他人感兴趣时,他人才会对我们感兴趣。” 美国成功学导师卡耐基也说过,“与其花两年的时间让他人对你感兴趣,不如花两个月的时间真正对他人感兴趣,这样会给你带来更多的朋友。” 金克拉说...
遗弃问题 互斥量概述 互斥量与所有其他内核对象有所不同,这是因为它们具有“线程所有权”的概念。 换句话说,互斥量会记住自己是哪个线程等待成功的。 互斥量的这种特殊性,使得它即使在未触发的状态下,也能为线程所获得。 什么是遗弃问题 当线程调用ReleaseMutex的时候,函数会检...