C++
文章平均质量分 54
skskskatt
这个作者很懒,什么都没留下…
展开
-
C++ Static用法
<br />1、什么是static?<br /> static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。<br /> 2、为什么要引入static?<br /> 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一 个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺转载 2010-11-16 11:14:00 · 560 阅读 · 0 评论 -
hpp h
<br />hpp,顾名思义等于.h加上.cpp,在boost、Xerces等开源库中频繁出现,偶在机缘巧合之下,学得一招半式,遂记录如下,以供参考学习。 hpp,其实质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该hpp文件即可,无需再将cpp加入到project中进行编译。而实现代码将直接编译到调用者的obj文件中,不再生成单独的obj,采用hpp将大幅度减少调用project中的cpp文件数与编译次数,也不用再发布烦人的li转载 2010-11-16 11:15:00 · 989 阅读 · 0 评论 -
类型转换
<br />本文讨论static_cast<> 和 reinterpret_cast<>。 <br />介绍<br /> 大多程序员在学C++前都学过C,并且习惯于C风格(类型)转换。当写C++(程序)时,有时候我们在使用static_cast<>和reinterpret_cast<>时可能会有点模糊。在本文中,我将说明static_cast<>实际上做了什么,并且指出一些将会导致错误的情况。<br /><br />泛型(Generic Types)<br />转载 2010-11-16 11:48:00 · 319 阅读 · 0 评论 -
c内存
<br /> 1、内存分配方式<br /> 内存分配方式有三种:<br /> (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。<br /> (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。<br /> (3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意转载 2010-11-16 17:07:00 · 493 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<)<br /> 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write Stdout"<<'/n';就表示把字符串"Write Stdout"和换行字符('/n')输出到标准输出流。2、析取器转载 2011-03-02 14:49:00 · 318 阅读 · 0 评论 -
说说C++智能指针(1): 关于shared_ptr
shared_ptr是新的标准库的一个主要成员,作为一个非嵌入式的智能指针,其设计可谓已经是绞尽脑汁。当然,还有很多人对它提出了不满。没有完美的设计,只有合适的设计。1. shared_ptr最大的特点是接口的简单性与实现的灵活性。 对于shared_ptr,object的转载 2011-07-20 21:38:37 · 730 阅读 · 0 评论 -
win32控制台界面等待其它事件
1.项目中需要在控制台等程序更新控制台界面 如何做? 控制台中用消息循环见代码: MSG msg; BOOL bRet; while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0) {原创 2011-08-09 20:08:17 · 1054 阅读 · 0 评论