c++进阶
zhuawalibai
起点和过程共同决定终点
展开
-
typedef定义函数类型的用法
typedef定义函数类型的用法最近在CodeProject上看了段关于COM in plain C项目的代码,其中的一段关于typedef使用的代码一时让人有点模糊,代码如下:typedef long SetStringPtr(char *);typedef long GetStringPtr(char *, long);typedef struct { SetStringP...转载 2019-01-18 11:08:00 · 902 阅读 · 0 评论 -
.h与.hpp文件的区别
c++中的.hpp文件 hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再 将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用 project中的cpp文件数与编译次数,也不用再发布烦人的lib与dll,因此非常适合用来...转载 2019-01-24 15:03:10 · 650 阅读 · 0 评论 -
C++中的mutable关键字
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改...转载 2019-01-21 16:28:41 · 174 阅读 · 0 评论 -
C++11右值引用和std::move语句实例解析
关键字:C++11,右值引用,rvalue,std::move,VS 2015OS:Windows 10 右值引用(及其支持的Move语意和完美转发)是C++0x加入的最重大语言特性之一。从实践角度讲,它能够完美解决C++中长久以来为人所诟病的临时对象效率问题。从语言本身讲,它健全了C++中的引用类型在左值右值方面的缺陷。从库设计者的角度讲,它给库设计者又带来了一把利器。从库使用者的角...转载 2019-01-21 16:32:22 · 189 阅读 · 0 评论 -
C++11多线程std::thread的简单使用
在cocos2dx 2.0时代,我们使用的是pthread库,是一套用户级线程库,被广泛地使用在跨平台应用上。但在cocos2dx 3.0中并未发现有pthread的支持文件,原来c++11中已经拥有了一个更好用的用于线程操作的类std::thread。cocos2dx 3.0的版本默认是在vs2012版本,支持c++11的新特性,使用std::thread来创建线程简直方便。下面介绍下std:...转载 2019-02-26 10:38:30 · 240 阅读 · 0 评论