- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 STL List 实现(1)
List作为STL的代表链表的容器,相信大家都不会陌生。本文将讨论一个List容器的一个主流实现。 STL List容器在底层一般是用(双链表)double-linked list来实现的,管理着一个又一个的结点。如果你有双链表的基础知识,那么这篇文章对你来说应该不会太难。与vector一样,List容器采用了普遍的内存管理器allocator来管理内存,维护着底层的双链表的表头和表
2009-06-22 18:32:00 8707
原创 如何将整数转换为相应的字符串
手写的,没有经过优化。将整数转换为相应的字符串。注意INT64的最大值,以免溢出。 char* itoa_my(INT64 value, char *buffer, size_t size) { assert(buffer != NULL); assert(size > 1); size_t Len = 0; INT64
2009-06-22 17:39:00 1327
原创 VC里如何打印word,excel,文本文件
因工作上的原因,搜集了一些这方面的资料。深感搜集到这些资料的不易,因此拿出来和大家分享,希望能帮到大家一点点。 1. Vc打印Excel: 关于VC如何打开一个excel,这方面的资料很多了,一般用的是OLE Avtive Control/假设当你打开了一个excel文件,并获得了它的workbook的handle,相应的接口为:
2009-06-17 10:29:00 8389 2
原创 VC文件目录常见操作
VC里文件操作有很多,本文在这里收录了一些常见的函数,仅供参考。 1. 判断一个目录是否存在 #include "windows.h" 参数: strPath: 目录的完整路径,注意不要以/结尾 返回值: 如果为目录,返回真,否则返回假 BOOL FolderExist(CString strPath) { WIN32_FIND_DATA wfd; BO
2009-06-16 15:03:00 4177
原创 c++左值与右值的含义与误区
术语 “L-Values” 和 “R-Values” 是很容易被搞混的,因为它们的历史渊源也是混淆。他们最初起源是编译器的设计者,从字面上来理解就是表达式左边的值和表达式右边的值。它们的含义一直在演化而名字却没变,现在已经“名”不副“实”了。虽然还是称为left-right 和right-value,但是他们的含义已经大大不同了。 C++ 03 标准上是这样写的
2009-06-15 18:08:00 857
原创 什么时候该使用指针和引用
引用是c++引入的新类型,所以c++引用的语义让很多新手颇为头疼。 引用就是一个对象的别名。对于一个变量的引用进行操作,作用效果会直接反映到这个变量上。 引用在声明的时候必须要初始化,否则编译器会提示错误,所以引用一定不为空。 int i = 20; int& j = i; int& k; //错误,必须要初始化 ++j;
2009-06-11 12:17:00 3695 2
原创 如何将字符串转换为相应的整型
将字符串转换为整型: bool IsDigit(char c){ return (c >= 0)&&(c } bool IsAlpha(char c){ return ((c >= a)&&(c = A)&&(c } bool IsAlphaOrDigit(char c){ return (IsDigit(c) ||
2009-06-09 18:15:00 1425
原创 VC 如何判断一个文件为目录
自己写的一个函数,判断一个文件是否为目录: /** * check whether a file is a directory @return true if is a directory, else false(if file not exists, false) */__declspec(dllexport) bool IsDirectory(const char* fil
2009-06-08 11:51:00 4652
原创 保护模式和实模式的区别
实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。 保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。 保护模式同实模式的根本
2009-06-01 15:16:00 9236 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人