c++
文章平均质量分 78
Nagi_Way
这个作者很懒,什么都没留下…
展开
-
C++ time API
http://stackoverflow.com/questions/2808398/easily-measure-elapsed-time//***C++11 Style:***std::chrono::steady_clock::time_point begin = std::chrono::steady_clock::now();std::chrono::steady_clock::tim转载 2017-03-20 19:47:56 · 377 阅读 · 0 评论 -
C++虚函数
派生类如果没有覆盖虚函数则会自动使用之前的定义。一个类如果没有数据成员,C++编译器会自动插入一个char类型。这样保证了每个对象都有不同的地址。基类和派生类会在同一个地方有VPTR(经常是对象开始的位置)。虚函数调用需要两步复杂的汇编指令,而普通函数需要一步指令如果想通过指针或引用调用虚函数,那么虚函数不能是内联函数。因为内联函数没有地址,而虚函数通过虚表中的函数地址调用。抽象基类不能实原创 2017-03-26 16:10:55 · 413 阅读 · 0 评论 -
volatile关键字
volatile关键字 volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。使用该关键字的例子如下:转载 2017-05-26 21:37:50 · 271 阅读 · 0 评论 -
static_cast
http://en.cppreference.com/w/cpp/language/static_castrvalues, lvalues, xvalues, glvalues, and prvalues都是什么 static_cast使用隐式转换或者用户自定义的转换从一个类型转变为另一个类型。 语法static_castnew_type > ( expressi原创 2017-06-09 20:17:57 · 429 阅读 · 0 评论 -
《effective modern c++》笔记之c++类型推导(1)
模版类型推导如果你不介意看一下伪代码,我们可以把函数模版看做下面是这个样子。templatetypename T>void f(ParamType param);然后一个函数调用长这样:f(expr);推导出来的T的类型不仅取决于expr,还取决于ParamType有以下三种情况:ParamType是一个引用或者指针,但不是universal referen原创 2017-07-06 20:25:46 · 462 阅读 · 0 评论 -
参数依赖查找
转自 Exceptional c++转载 2017-08-14 22:35:48 · 475 阅读 · 0 评论 -
#pragma pack(push,1) & #pragma pack(pop)
原文地址 http://blog.csdn.net/mannhello/article/details/53844311 引子 在程序中,有的时候我们定义结构体的时候,要用#pragma pack(push,1) & #pragma pack(pop)类似代码将结构体包起来。一般形式如下:#pragma pack(push,1); struct A{ } ;#pragm转载 2017-09-06 22:25:37 · 474 阅读 · 0 评论