C++
墨尔本--晴
这个作者很懒,什么都没留下…
展开
-
学习C++——lambda表达式
C++ language C++11 - the new ISO C++ standard The C++ Standards Committee - ISOCPP 上面三个是C++学习网站,有助于了解C++11的新特性。 lambda表示式(C++11) 1、介绍lambda 我们使用过的仅有两种可调用对象是函数和函数指针。还有其他两种可调用对象:重载了函转载 2017-06-29 18:16:33 · 249 阅读 · 0 评论 -
C++ const关键字总结
reference:http://blog.csdn.net/davidsguo008/article/details/75246094const是一个C++语言的限定符,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。1. 修饰常量用const修饰的变量是不可变的,以下两种...转载 2018-02-09 18:01:20 · 172 阅读 · 0 评论 -
C++ emplace_back 和 push_back 的区别
emplace_back和push_back都是向容器内添加数据. 对于在容器中添加类的对象时, 相比于push_back,emplace_back可以避免额外类的复制和移动操作. "emplace_back avoids the extra copy or move operation required when using push_back." 为了证实原创 2018-01-10 10:35:02 · 4040 阅读 · 1 评论 -
位运算符及其应用
一、C语言的六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 0000转载 2017-11-09 18:12:06 · 166 阅读 · 0 评论 -
boost::pool
转载于:http://blog.csdn.net/sndaxdrs/article/details/6175615 Boost库的pool提供了一个内存池分配器,用于管理在一个独立的、大的分配空间里的动态内存分配。Boost库的pool主要适用于快速分配同样大小的内存块,尤其是反复分配和释放同样大小的内存块的情况。使用pool内存池主要有以下两个优点: 1. 能够有效地管理许多小型对转载 2017-10-24 11:18:12 · 237 阅读 · 0 评论 -
std::make_shared
http://bitdewy.github.io/blog/2014/01/12/why-make-shared/ C++11 中引入了智能指针, 同时还有一个模板函数 std::make_shared 可以返回一个指定类型的 std::shared_ptr, 那与 std::shared_ptr 的构造函数相比它能给我们带来什么好处呢 ? 优点 效率更高 shar转载 2017-10-13 14:27:59 · 2265 阅读 · 0 评论 -
浅谈boost.variant的几种访问方式
前言 variant类型在C++14并没有加入,在cppreference网站上可以看到该类型将会在C++17加入,若想在不支持C++17的编译器上使用variant类型,我们可以通过boost的variant类型,variant类型可以表示任意一种类型和any类型有些相似,但还是有些区别,比如说variant支持的类型需提前定义,而any类型不需要,获取any类型的值需要给出原始类型,然而转载 2017-10-20 19:30:45 · 806 阅读 · 0 评论 -
C++ 智能指针详解
文章转载于:http://blog.csdn.net/xt_xiaotian/article/details/5714477 一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问转载 2017-09-18 15:43:56 · 372 阅读 · 0 评论 -
C++11 新特性: unordered_map 与 map 的对比
文章转载于http://www.cnblogs.com/NeilZhang/p/5724996.html unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,转载 2017-09-17 13:20:05 · 313 阅读 · 0 评论 -
C++ 后台服务器 基本面试题型
C++ static 关键字有哪些用法 说说继承和组合的概念?什么时候应该用继承?什么时候应该用组合 C++ 的菱形继承会发生什么问题?画出对应的内存布局 说说对 C++ 智能指针的了解 说说虚函数实现机制 如果父类中仅有方法,子类有一个 int 变量,这时候 sizeof 是多大 指针一定是 4 个字节吗 #define 和 inline 函数的区别是什么 const转载 2017-08-04 11:54:13 · 4026 阅读 · 0 评论 -
内存池——第一章 几种常用的内存池技术
几乎所有应用程序中都会有内存的分配和释放,而频繁的分配和释放内存无疑会产生内存碎片,降低系统性能,尤其对性能要求较高的程序比较明显。下面介绍几种常见的内存池技术。 一 环形缓存 环形缓存的基本原理如图: 初始化状态(wpos_ = rpos_): 写了部分数据,同时读了一部分数据(wpos_ > rpos_): w转载 2017-06-28 11:53:33 · 318 阅读 · 0 评论 -
C++ 基本类型所占空间大小
C++基本类型大小int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):sizeof(short int)<=sizeof(int)sizeof(int)<=sizeof(long int)short int至少应为16位(2字节)long int至少应为32位。各个类型的变量长度由编译器来决定(实际上与操作系统位数和编译器...原创 2018-03-07 11:38:38 · 4745 阅读 · 0 评论