c++ 11
帝江VII
杨光明媚
展开
-
C++ 同名隐藏、覆盖,虚函数 的详解和对比
不同作用域声明的标识符的可见性原则: 如果存在两个或多个具有包含关系的作用域,外层声明了一个标识符,而内层没有再次声明同名标识符,那么外层标识符在内层依然可见,如果在内层声明了同名标识符,则外层标识符在内层不可见,这时称内层标识符隐藏了外层同名标识符,这种现象称为隐藏规则。 在类的派生层次结构中,基类的成员和派生类新增的成员都具有类作用域。二者的作用范围不同,是相互包含的两个层转载 2015-12-24 14:23:25 · 2937 阅读 · 1 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 转自http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术转载 2017-08-11 12:56:14 · 254 阅读 · 0 评论 -
std::result_of用法
std::result_of用法template class result_of头文件:用于在编译的时候推导出一个可调用对象(函数,std::funciton或者重载了operator()操作的对象等)的返回值类型.主要用于模板编写中.模板参数:Fn 可调用对象ArgTypes... 参数列表.原创 2017-08-14 19:45:45 · 14522 阅读 · 6 评论 -
C++11 SFINEA规则_判断类是否存在某个成员函数
在C++模板中,SFINEA规则是指”Substitution failure is not an error“(匹配失败不是错误)。具体来说,就是当重载的模板参数展开时,如果展开导致一些类型不匹配,编译器并不报错。我们可以使用这个规则来判断类是否存在某个成员函数,请看下面的实例:#include#include#includetemplatestruct has_member_原创 2017-08-22 14:50:28 · 6511 阅读 · 0 评论 -
c++11 call_once用法(多线程时仅初始化一次的完美解决方案)
template void call_once (once_flag& flag, Fn&& fn, Args&&...args);需要包含头文件:参数:(1)flag:是std::once_falg对象(定义一个该对象传进去即可)、、属于控制的标签,相同的falg只执行一次(见下面详解)(2)fn:需要只执行一次的函数对象、、(3)args:传递给fn函数原创 2017-09-09 17:01:38 · 5521 阅读 · 0 评论 -
c++11 chrono全面解析(最高可达纳秒级别的精度)
chrono是c++ 11中的时间库,提供计时,时间等功能。学习chrono,关键是理解里面时间段(Durations)、时间点(Time points)的概念。1.基础:时间节拍:原创 2017-09-11 22:49:20 · 27544 阅读 · 5 评论 -
c++ 11 多种格式时间转化为字符串
本文主要优雅的解决:将各种格式的时间转化为格式化的字符串。(1)优雅的将time_t 或者long 类型的秒数转为字符串(2)格式化打印系统的当前时间,或者将系统当前时间转化为字符串原创 2018-07-26 13:21:21 · 18869 阅读 · 3 评论 -
C++ 修改/覆盖指定位置的文件内容或者从某个位置开始截断文件
最新在进行文件方面的功能开发。遇到个这样的问题:(1)文件读到中间,然后进行一些修改,(2)然后将文件从修改后的地方截断。本以为这是个简单的操作,却花费了好大的功夫(网上并没有这样的例子,一通尝试)。现在终于圆满解决了,特地记录一下,方便后来人。1.修改/覆盖指定位置的文件内容【ps】下文一直提到文件中间区域位置,就是指非文件开头和结尾的位置。为什么强调这个呢?因为开头和结尾就是很常规的就...原创 2018-08-23 19:14:23 · 26113 阅读 · 8 评论 -
C++11 字符串编码转换
c++11中新增的字符编码转换的功能,可以解决我们平时开发中字符编码转换的需求。主要使用wstring_convert和codecvt相结合进行转换。单独看这两个模板类肯定之所云,不过没关系,下面对常用的编码转换进行一个代码总结,供大家学习(ctrl+c, ctrl_v)。使用下面代码需要包含头文件#include<locale> 和 #include<codecvt>...原创 2018-11-08 18:22:32 · 10712 阅读 · 2 评论