
C++ & STL
xiaofengsheng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
the include of head file(2)
Visual C++.NET编程讲座之七2003-10-17 09:04作者:Adding出处:yesky责任编辑:方舟 (4) 在MainFrm.h文件的前面添加下列代码,如图10所示的加框部分。图10 在MainFrm.h中添加的语句 不少人对上述语句不理解:既然使用了包含文件,为什么还要在class CMainFrame前添加"class CViewerV转载 2009-01-02 23:23:00 · 709 阅读 · 0 评论 -
[转]: STL priority_queue 优先队列
刚开始学习算法不久,一些常用的算法工具还没有掌握,真是丢人!前一段时间用到优先级队列时,都是自己手动通过最大堆或者最小堆来写一个,容易出错且耗时。接触到STL后,开始用map和set模拟一个优先级队列,但是总有一些小问题出现,发现STL功能强大,但我却几乎不懂。今天终于决定使用STL提供的priority_queue,发现还挺好用,虽然很多人都称他效率不够高,但是使用起来很方便。下面就总结转载 2009-12-13 11:37:00 · 2349 阅读 · 0 评论 -
程序员的自我修养: 编译器工作过程
//hello.c#include int main() { printf("Hello world/n"); return 0; } hello.c的编译过程如下:Source Code(hello.c) Header Files(Stdio.h)原创 2010-03-04 23:17:00 · 851 阅读 · 0 评论 -
程序员的自我修养: fread-C语言是怎样读取文件的
为了效率的考虑,不至于频繁调用系统函数和访问IO设备,MSVC CRT的fread采用缓冲设计. C语言提供的关于缓冲的函数有:int flush(FILE* stream);int setvbuf(FILE* stream, char* buf, int mode, size_t size);/*缓冲模式mode有:1. 无缓冲模式 _IONBF2. 行缓原创 2010-03-11 19:19:00 · 5595 阅读 · 0 评论 -
程序员的自我修养: 你的程序始自何方?
这节讲的主要是程序的入口函数及初始化 程序从main开始吗?显然为NO. 例如函数atexit(&foo), 在程序结束的时候还可以让程序调用foo函数. 入口函数如何实现1. glibc的入口函数glibc大概是这样的:void _start(){ %ebp = 0; //表明当前是程序的最外层函数 int argc = pop from原创 2010-03-10 19:09:00 · 777 阅读 · 0 评论 -
C++: 如果像定义endl(换行)一样定义tab(制表符)
一个简单的tab是这样实现的:#include using namespace std;inline basic_ostream >& tab(basic_ostream >& out){ out.put(/t); out.flush(); return (out);}int main(){ cout << tab << "World" <原创 2010-03-13 10:40:00 · 3171 阅读 · 0 评论 -
VS文本编辑的正则表达式使用经验
假如你有如下代码:#include #include 。。。你想让他们变成#include "iostream"#include "algorithm"。。。 你可以在Find What框中输入: ^/#include /$Replace With框中输入:#include "/1" 稍微解释一下:^表示以此开头$表示以此结尾#原创 2010-03-22 19:26:00 · 603 阅读 · 0 评论 -
C++中你不知道的语法
传构造函数,不会引起拷贝构造函数的调用当传一个一个已经构造好的对象时,#include #include #include #include using namespace std;class Foo{ public: Foo(){cout << "ctr" << endl;} ~Foo(){cout << "de-ctr" << en原创 2010-03-21 10:27:00 · 1002 阅读 · 0 评论 -
[转]: 初探编译器static、const之实现原理
文章作者:evilknight信息来源:邪恶八进制信息安全团队(www.eviloctal.com)编译环境: WinXP sp2 + VC6.0 SP 6对于许多C/C++初学者,往往知道static变量只是被初始化一次,对于const变量,只知道他的值是不能被修改的,但是对于其实现却不知所有然。这里我以VC6.0 SP6为平台,揭开其编译器实现原理。下面看一段程序:C++代码原创 2010-04-09 12:51:00 · 880 阅读 · 0 评论 -
C++: 对双线程下载程序的封装和模拟
这是主程序,其中:对线程,信号量进行了windows API的封装;类似还可以完成对Mutex互斥量,临界区等的封装工作.//main.cpp#include #include #include "helper.h"using namespace std;/***************************************************原创 2010-04-22 12:17:00 · 844 阅读 · 0 评论 -
我读STL
1. 通过迭代器萃取类型: /** * This class does nothing but define nested typedefs. The general * version simply "forwards" the nested typedefs from the Iterator * argument. Specialized versio原创 2010-05-08 00:34:00 · 672 阅读 · 0 评论 -
[转]: 头文件与实现文件的关系
原文地址:http://blog.youkuaiyun.com/bm1408/archive/2006/02/22/606382.aspx你理解简单的含义吗?关于两者以前的关系,要从N年以前说起了~ long long ago,once aupon a time .......那是一个被遗忘的年代,在编译器只认识.c(.cpp))文件,而不知道.h是何物的年代。那时的人们写了很多的转载 2010-05-11 13:09:00 · 855 阅读 · 0 评论 -
[转]c++: fstream文件操作及对二进制文件的操作
要写一些简单的日志到文本文件中,参考了以下两篇文章:ifstream 和 ofstream( 引用)C++标准库 之 iostream库的学习笔记(二)fstream库以及ofstream类的使用ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I转载 2009-11-04 23:10:00 · 7721 阅读 · 0 评论 -
[转]: ofstream/ifstream 文本/二进制 方式 读入/写出 数据方法
文件 I/O 在C++中比烤蛋糕简单多了。 在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你转载 2009-11-05 19:32:00 · 1368 阅读 · 0 评论 -
[转]正则表达式用例
1。^/d+$ //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]*$ //匹配正整数 3。^((-/d+) ¦(0+))$ //匹配非正整数(负整数 + 0) 4。^-[0-9]*[1-9][0-9]*$ //匹配负整数 5。^-?/d+$ //匹配整数 6。^/d+(/./d+)?$ //匹配非负浮点数(正浮点数 + 0) 7。^(([0-9]+/.[转载 2009-10-16 17:21:00 · 935 阅读 · 0 评论 -
the include of head file(1)
头文件包含问题 C++中基础类互相引用带来的问题 在一些大的工程中,可能会包含几十个基础类,免不了之间会互相引用 ( 不满足继承关系,而是组合关系 ) 。也就是需要互相声明。好了,这时候会带来一些混乱。如果处理得不好,会搞得一团糟,根据我的经验,简单谈谈自已的处理办法: 编码时,我们一般会尽量避免 include 头文件,而是采用声明 class XXX 。 但有时候还是必转载 2009-01-02 23:21:00 · 976 阅读 · 0 评论 -
wprintf 和 wcout
这篇文章应该是[netsin]的成果,我勤快,记下来。注:wprintf是C的标准库函数,但wcout不是C++的标准成员,C++中的 L"……" 是宽字符,却未必是unicode字符,这与编译器实现相关。[乾坤一笑]说:为什么 C/C++ 语言把 L"xx" 定义为由实现决定的呢?这显然是为了 C/C++ 的普适性、可移植性。Bjarne 的观点认为,C++ 的方式是允许程序员使用任何字符集作转载 2009-03-09 11:59:00 · 2083 阅读 · 0 评论 -
wcout / wstring / wchar_t
#include #include #include #include using namespace std;int main(){// 这一下很重要:wcout.imbue( locale("chs") );const wchar_t* lpwStr = L"猪猪宝贝:http://84638372.qzone.qq.com";wcouttypedef vector WSTRVEC;WSTRV转载 2009-03-09 11:51:00 · 1530 阅读 · 0 评论 -
cout 格式化输出
cout是比较常用的功能,应该了解它的一些特性。/******************************************************************** created: 2006/04/29 created: 29:4:2006 23:33 filename: e:/work/C++/输入输出转载 2009-03-18 23:10:00 · 1220 阅读 · 0 评论 -
将数值转化为字符串的函数
数字转化为字符串面试例题1:使用库函数将数字转换为字符串。考点:C库函数中数字转换为字符串的使用。出现频率:★★★解析C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串,下面列举了各函数的方法及其说明。itoa():将整型值转换为字符串。ltoa():将长整型值转换为字符串。ultoa():将无符号长整型值转换为字符串。gc转载 2009-03-29 22:51:00 · 21384 阅读 · 0 评论 -
extern用法
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析:转载 2009-05-20 13:55:00 · 472 阅读 · 0 评论 -
wchar_t 与 char的转换
Converts a sequence of wide characters to a corresponding sequence of multibyte characters. More secure versions of these functions are available; see wcstombs_s, _wcstombs_s_l. size_t wcstombs(原创 2009-05-27 20:56:00 · 923 阅读 · 0 评论 -
C的类实现
#include #ifndef C_Class #define C_Class struct#endif C_Class A{ C_Class A* A_This; //this pointer of c class int value; void (*set)(C_Class A* A_This,原创 2009-06-11 21:06:00 · 1953 阅读 · 0 评论 -
Unicode、GB2312、GBK和GB18030中的汉字[转]
http://blog.youkuaiyun.com/fmddlmyy/archive/2007/11/05/1868313.aspxGB18030有两个版本:GB18030-2000和GB18030-2005。GB18030-2000是GBK的取代版本,它的主要特点是在GBK基础上增加了CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-2000基础上增加了 CJK统一汉字扩充转载 2009-09-08 00:10:00 · 4041 阅读 · 0 评论 -
寻找所有Unicide汉字程序
#include #include #include #include #include using namespace std;int main(){ //wchar_t ch = L你; //0x4f60 //wchar_t ch2 = (wchar_t)0x4f60; //setlocale(LC_ALL ,"chs"); ///原创 2009-09-08 16:39:00 · 1021 阅读 · 0 评论 -
[转]VC: MultiByteToWideChar和WideCharToMultiByte用法
//========================================================================//TITLE:// MultiByteToWideChar和WideCharToMultiByte用法详解//AUTHOR:// norains//DATE:// 第一版:Monday 25-December -2006//转载 2009-09-15 17:21:00 · 3312 阅读 · 0 评论 -
C++ pImpl
C++ pImpl原创 2011-03-19 16:15:00 · 2521 阅读 · 0 评论